Problèmes de configuration des commentaires ajax

Captures d’écran :






Voici un extrait des erreurs répétées dans les journaux :

[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"}

Lorsque je crée un nouveau post, cela fonctionne et le sujet est créé. Cependant, lorsqu’un commentaire est fait dans Discourse, il n’est pas synchronisé avec WordPress.

Je n’ai pas beaucoup changé, vous pouvez voir les paramètres ci-dessus. Des idées sur ce que je fais mal ou ce qui me manque ?

J’ai suivi les guides ici :

edit :
J’ai cette même erreur, mais sur les forums, ce fut le seul résultat de recherche pour :
comment_formatter.ERROR: format.missing_post_data

Est-ce un problème connu ? Ou peut-il être résolu ?

1 « J'aime »

Salut,

  1. Si possible, pourriez-vous me fournir un lien vers un article de votre site WordPress où vous constatez le problème ?
  2. Y a-t-il une raison pour laquelle vous utilisez les commentaires ajax ? (vous avez coché « Charger les commentaires avec Ajax »).
1 « J'aime »

Salut Angus,

  1. Oui, bien sûr : 60 Linux Networking commands and scripts (c’est le seul article synchronisé pour l’instant)
  2. J’ai vérifié Ajax uniquement en dernier recours après des heures de choses qui ne fonctionnaient pas entièrement. J’ai maintenant décoché ajax. Je suppose que sans webhooks, l’intervalle de synchronisation a pris du temps.

Cela semble fonctionner maintenant, mais le format est un peu peu élégant. Je suppose que je dois comprendre le CSS ?

De plus, y a-t-il un moyen d’afficher des liens de type « rejoignez la discussion » vers la page d’accueil de notre forum Discourse pour les anciens articles de blog WP ? - En d’autres termes, s’il n’y a pas de commentaires sur un article, ou si l’article n’a pas été préalablement synchronisé avec Discourse, alors le plugin ajoutera un lien général vers la page d’accueil de mon forum Discourse au lieu de le laisser vide.

Merci beaucoup pour votre aide.

1 « J'aime »

Oui, la façon dont il s’affiche dépendra de votre thème. Il y a un style minimal dans le plugin lui-même.

Le lien « rejoignez la discussion » n’apparaîtra pas sur les sujets qui ne sont pas liés. Vous pouvez ajouter quelque chose comme ceci vous-même, séparément du plugin, en utilisant le filtre comments_template dans le fichier functions.php de votre thème. Je n’ai pas testé ce code, mais quelque chose comme ceci fonctionnera :


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 « J'aime »

4 messages ont été déplacées vers un nouveau sujet : Erreurs du formateur de commentaires dans les journaux

Merci encore pour votre aide et vos conseils supplémentaires !

J’ai lu et recherché du CSS à coller qui améliorerait la mise en page, même un peu.
Cependant, comme je ne suis pas familier avec le CSS/la mise en forme (autre que coller du CSS existant), j’aimerais apporter des modifications très basiques à la mise en forme des commentaires importés. À savoir, utiliser des images d’avatar plus petites à côté des noms d’utilisateur de discussion dans les commentaires et ajouter une ligne horizontale entre les publications :
image

Est-ce quelque chose d’assez simple pour que je puisse coller du code dans /admin/customize/themes/1/common/scss/edit ?

Edit :
Pour les autres, j’ai pu résoudre le redimensionnement de gravatar en utilisant le code ici :

2 « J'aime »

J’ai pu styliser les commentaires. Mon style était très basique lol… mais c’est une amélioration.
La seule chose qui reste à faire est de supprimer la liste des participants en bas de la section de commentaires importée par WP-Discourse.
Je ne peux pas utiliser ce code car il génère une erreur due à l’utilisation de “self”. Existe-t-il une solution de contournement ?

<?php
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();

J’ai supprimé ces lignes :

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

Cependant, l’erreur de syntaxe “self” ne me permet pas de savoir comment résoudre le problème. Surtout ces lignes :

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

Je n’ai pas supprimé la section des participants. Si vous envisagez de le faire, donnez-lui une chance, comme pour d’autres fonctionnalités de Discourse ; les développeurs y ont réfléchi. Elle affiche tous les participants même après l’importation de seulement 5 des 15 messages. (paramètre modifiable) De plus, les réponses importées excluent les messages des membres du forum de niveau 0. Ce que je trouve utile.

En bref, au fil du temps, j’ai remarqué que la liste des participants et les commentaires importés ne sont pas toujours identiques. Dans de nombreux cas, cela permet de donner au lecteur du blog une vision plus précise du niveau d’activité des commentaires sans avoir à importer tous les messages ou à risquer d’importer des messages des premiers membres inscrits. (ce qui, je crois, peut également être modifié dans les paramètres)

2 « J'aime »

Je pense que comment_formatter.ERROR: format.missing_post_data est trop zélé dans ses rapports. Je vais ajuster cela pour la prochaine version. Merci d’avoir fait un suivi à ce sujet. Ne vous inquiétez pas pour l’instant, à moins que vous ne rencontriez un problème visible.

Il n’existe pas de guide formel sur le style des commentaires. Il y a quelques autres sujets, par exemple celui-ci. Les thèmes WordPress ont tellement de formes et de tailles qu’il a été initialement pensé de laisser cela à l’administrateur du site. Cela dit, je pense que des guides supplémentaires pourraient être utiles.

Je l’ai ajouté à ma liste pour l’intégrer aux guides WP Discourse. Je ne publierai pas cela avant quelques semaines, mais si vous êtes bloqué avec le style entre-temps, faites-le moi savoir et je vous donnerai quelques pistes.

2 « J'aime »

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