Problemas na configuração de comentários ajax

Capturas de tela:






Aqui está um trecho dos erros repetidos nos logs:

[2022-04-16 00:08:52] comment_formatter.ERROR: format.missing_post_data {"keys":"discourse_permalink,discourse_comments_raw"} 
[2022-04-16 00:09:06] comment_formatter.ERROR: format.missing_post_data {"keys":"discourse_permalink,discourse_comments_raw"} 
[2022-04-16 00:09:08] comment_formatter.ERROR: format.missing_post_data {"keys":"discourse_permalink,discourse_comments_raw"} 
[2022-04-16 00:09:50] comment_formatter.ERROR: format.missing_post_data {"keys":"discourse_permalink,discourse_comments_raw"}

Quando eu crio um novo post, funciona e o tópico é criado. No entanto, quando um comentário é feito no Discourse, ele não é sincronizado com o WordPress.

Eu não mudei muita coisa, você pode ver as configurações acima. Alguma ideia do que estou fazendo de errado ou apenas perdendo?

Segui os guias aqui:

edit:
Eu tenho o mesmo erro, mas nos fóruns, este foi o único resultado de pesquisa para:
comment_formatter.ERROR: format.missing_post_data

Isso é um problema conhecido? Ou pode ser resolvido?

1 curtida

Olá,\n\n1. Se possível, você poderia me enviar o link para uma postagem no seu site WordPress onde você está vendo o problema?\n2. Há alguma razão pela qual você está usando comentários ajax? (você tem "Carregar Comentários com Ajax" marcado).

1 curtida

Olá Angus,

  1. Sim, claro: 60 Linux Networking commands and scripts (esse é o único post sincronizado por enquanto)
  2. Verifiquei o Ajax apenas como último recurso depois de horas de coisas não funcionando completamente. Agora eu desmarquei o ajax. Imagino que sem webhooks, o intervalo para sincronização demorou um pouco.

Parece que está funcionando agora, mas o formato é um pouco desajeitado. Imagino que eu tenha que descobrir o CSS?

Além disso, existe uma maneira de mostrar os links do tipo “participe da discussão” para a página inicial do nosso fórum Discourse para posts mais antigos do blog WP? - Em outras palavras, se não houver comentários em um post, ou se o post não foi sincronizado anteriormente com o Discourse, o plugin adicionará um link geral para a página inicial do meu fórum Discourse em vez de deixá-lo em branco.

Muito obrigado pela ajuda.

1 curtida

Sim, como ele é exibido dependerá do seu tema. Há um estilo mínimo no próprio plugin.

O link “participe da discussão” não aparecerá em tópicos que não estão vinculados. Você pode adicionar algo como isso por conta própria, separadamente do plugin, usando o filtro comments_template no arquivo functions.php do seu tema. Não testei este código, mas algo como isto funcionará:

use WPDiscourse\Utilities\Utilities as DiscourseUtilities;

function non_discourse_comments_template( $comment_template ) {
   global $post;
   $post_id = $post->ID;
   $discourse_post_id = get_post_meta( $post_id, 'discourse_post_id', true );

   if ($discourse_post_id) {
     return;
   } else {
     $options = DiscourseUtilities::get_options();
     $discourse_permalink = $options['url'];
     $link_text = "Join the Discussion";
     return '<div class="wpdc-join-discussion"><a class="wpdc-join-discussion-link" href="' . esc_url_raw( $discourse_permalink ) . '" target="_blank" rel="noreferrer noopener">' . esc_html( $link_text ) . '</a></div>';
   }
}
add_filter( "comments_template", "non_discourse_comments_template" );
2 curtidas

4 posts foram divididos em um novo tópico: Erros do formatador de comentários nos logs

Obrigado novamente pela ajuda e orientação adicionais!

Tenho lido e procurado por CSS para colar que melhoraria o layout, mesmo que um pouco.
No entanto, como não estou familiarizado com CSS/estilização (além de colar CSS existente), gostaria de fazer modificações muito básicas na estilização dos comentários importados. Nomeadamente, usar imagens de avatar menores ao lado dos nomes de usuário do discourse nos comentários e adicionar uma linha horizontal entre as postagens:
image

Isso é algo simples o suficiente para que eu possa colar algum código em /admin/customize/themes/1/common/scss/edit?

Edição:
Para qualquer outra pessoa, consegui resolver o redimensionamento do gravatar usando o código aqui:

2 curtidas

Consegui estilizar os comentários. Meu estilo era muito básico, lol… mas é uma melhoria.

A única coisa que resta a fazer é remover a lista de participantes na parte inferior da seção de comentários importada do WP-Discourse.

Não consigo usar este código porque ele gera um erro devido ao uso de “self”. Existe uma solução alternativa?

ob_start();
?>
<div id="comments" class="comments-area discourse-comments-area">
<div class="comments-title-wrap">
<h2 class="comments-title discourse-comments-title"><?php echo esc_html( self::get_text_options( 'notable-replies-text' ) ); ?></h2>
</div>
<ol class="comment-list">{comments}</ol>
<div class="respond comment-respond">
<h3 id="reply-title" class="comment-reply-title">
<?php echo esc_html( self::get_text_options( 'continue-discussion-text' ) . ' ' ); ?>
<?php self::discourse_topic_link( self::new_tab() ); ?>
</h3>
<p class="more-replies">{more_replies}</p>
</div>
</div>
<?php
$output = ob_get_clean();

Removi estas linhas:

<div class="comment-reply-title">
<h4 class="discourse-participants"><?php echo esc_html( self::get_text_options( 'participants-text' ) ); ?></h4>
<p>{participants}</p>
</div>

No entanto, o erro de sintaxe “self” não tenho certeza de como resolver. Especialmente estas linhas:

<?php echo esc_html( self::get_text_options( 'continue-discussion-text' ) . ' ' ); ?>
<?php self::discourse_topic_link( self::new_tab() ); ?>

Eu não removi a seção de participantes. Se você está pensando em fazer isso, dê uma chance, como com outros recursos do Discourse; os desenvolvedores pensaram um pouco sobre isso. Ele mostra todos os participantes mesmo depois que apenas 5 de 15 posts são importados. (configuração alterável) Além disso, as respostas importadas excluem posts de membros do fórum de nível 0. O que eu acho útil.

Em resumo, com o tempo, notei que nem sempre a lista de participantes e os comentários importados serão idênticos. Em muitos casos, ajuda a fornecer ao leitor do blog uma visão mais precisa do nível de atividade de comentários sem ter que importar todos os posts ou arriscar importar posts dos primeiros membros inscritos. (o que acredito que também pode ser alterado nas configurações)

2 curtidas

Eu acho que o comment_formatter.ERROR: format.missing_post_data está sendo muito zeloso em seus relatórios. Vou ajustar isso para a próxima versão. Obrigado por acompanhar o assunto. Não se preocupe com isso por enquanto, a menos que você esteja enfrentando um problema visível.

Não há um guia formal sobre estilização de comentários. Existem alguns outros tópicos, por exemplo, este. Os temas do WordPress vêm em tantas formas e tamanhos que inicialmente se pensou em deixar isso para o administrador do site. Dito isso, acho que alguns guias adicionais podem ser úteis.

Coloquei na minha lista para adicionar aos guias do WP Discourse. Não publicarei isso por algumas semanas, mas se você ficar preso com a estilização nesse ínterim, me avise e eu lhe darei algumas dicas.

2 curtidas

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.