Les commentaires Discourse ne s'affichent pas sur le blog WordPress (version 2025)

Continuant la discussion de Les commentaires Discourse ne sont pas reflétés sur le blog Wordpress :

Bonjour. J’ai installé une nouvelle copie de Discourse 3.4.0 (4abee26a32) et WordPress 6.7.2 sur mon PC local pour des tests et je n’arrive pas à synchroniser les commentaires de Discourse vers WordPress (bien que la publication initiale soit synchronisée de WordPress vers Discourse). Mon problème semble être très similaire au rapport beaucoup plus ancien lié ci-dessus. Cela pourrait-il être une régression ?

J’ai activé tous les journaux, mais voici tout ce que je vois dans les journaux de mon instance WordPress :

[2025-02-26 21:24:55] connection.INFO: check_connection_status.successful_connection
[2025-02-26 21:24:55] connection.INFO: check_connection_status.valid_scopes
[2025-02-26 21:28:49] publish.INFO: create_post.post_success {"wp_title":"This is a test","wp_author_id":"1","wp_post_id":7}
[2025-02-26 21:28:49] publish.INFO: create_post.body_valid {"wp_title":"This is a test","wp_author_id":"1","wp_post_id":7}
[2025-02-26 21:28:49] publish.INFO: create_post.after_publish {"post_id":7,"remote_post_type":"create_post","discourse_post_id":"34","discourse_topic_id":"16","discourse_permalink":"https://discourse.cs.siue.edu/t/this-is-a-test/16"}
[2025-02-26 21:28:49] webhook_topic.INFO: update_topic_content.update_post_metadata_success {"post_ids":"7"}
[2025-02-26 21:29:27] webhook_topic.INFO: update_topic_content.update_post_metadata_success {"post_ids":"7"}
[2025-02-26 21:53:39] webhook_topic.INFO: update_topic_content.update_post_metadata_success {"post_ids":"7"}

Et voici tout ce que je vois dans la section des commentaires de mon article WordPress :

Le nombre de réponses s’incrémente immédiatement, mais je ne vois pas les commentaires réels. Je ne vois pas non plus d’erreurs dans les journaux système à /var/log/php-fpm/www-error.log.

Quelqu’un a-t-il des idées sur ce qui pourrait causer ce problème ou sur la façon de le déboguer ? Merci.

Salut @Gregory_Bartholomew, je peux vous garantir que ce n’est pas une régression. Examinons ce qui, dans votre configuration locale, pourrait causer cela.

  1. Quel thème utilisez-vous ?
  2. Est-ce un thème activé par blocs ?
  3. Avez-vous personnalisé le thème ?
  4. Quels paramètres avez-vous activés pour le plugin WP Discourse (peut-être partager le fichier meta des journaux).

À un moment donné, laisser le commentaire Wordpress activé faisait exactement cela. C’était il y a au moins un an, et je n’ai jamais vérifié si ce comportement avait changé ou s’il s’agissait d’une question dépendante du thème.

Si vous rencontrez un problème similaire, nous pouvons l’examiner en parallèle. Pouvez-vous partager les réponses aux mêmes questions ?

Je pourrais, mais ce n’était pas un problème après avoir désactivé les commentaires de WordPress. Le problème de l’OP est que les commentaires de WordPress surchargent Discourse. Et il peut y avoir une solution facile aussi — ce post n’est jamais lié à Discourse :smirking_face:

Je vois. Je pense que votre problème était peut-être différent de celui de @Gregory_Bartholomew. Voyons si nous pouvons obtenir des précisions sur sa configuration et résoudre son problème. Chaque problème doit être traité séparément.

Eh bien, je n’ai aucun problème en cours, car dans toutes les situations, je ne permets pas les commentaires natifs de Wordpress. Discourse s’en occupe très bien. Mes pensées n’étaient qu’une idée de solution faible, et mènent à des problèmes de configuration :man_shrugging:

Dites-vous que je dois désactiver le système de commentaires intégré de WordPress d’une manière ou d’une autre ?


C’est actuellement le thème par défaut twentytwentyfive.

Oui, c’est le cas. De plus (mais probablement sans rapport), il y avait un petit bug dans le thème par défaut qui m’obligeait à charger et à réenregistrer le fichier index.html. Le problème et la solution de contournement sont documentés ici.

À part la solution de contournement ci-dessus pour corriger un problème apparemment sans rapport, non, je n’ai apporté aucune personnalisation au thème.

Bien sûr, voici la sortie meta de la page des journaux.

### Ce fichier est inclus dans les téléchargements de journaux ###

### Serveur ###

WordPress - 6.7.2
PHP - 8.3.17
MySQL - 10.11.10

### Plugins Actifs ###

Fedora SSR Endpoint - 1.3.0
WP-Discourse - 2.5.6

### Paramètres WP Discourse (Secrets Exclus) ###

connection-logs - 1
display-subcategories - 0
allow-tags - 0
max-tags - 5
publish-as-unlisted - 0
full-post-content - 0
custom-excerpt-length - 55
add-featured-link - 0
auto-publish - 1
force-publish - 0
force-publish-max-age - 0
publish-failure-notice - 0
auto-track - 1
allowed_post_types - post
exclude_tags -
hide-discourse-name-field - 0
discourse-username-editable - 0
direct-db-publication-flags - 0
verbose-publication-logs - 1
enable-discourse-comments - 1
comment-type - display-comments
ajax-load - 0
load-comment-css - 0
discourse-new-tab - 0
hide-wordpress-comments - 0
show-existing-comments - 0
max-comments - 5
min-replies - 1
min-score - 0
min-trust-level - 1
bypass-trust-level-score - 50
only-show-moderator-liked - 0
custom-datetime-format -
cache-html - 0
clear-cached-comment-html - 0
verbose-comment-logs - 1
use-discourse-webhook - 1
webhook-match-old-topics - 0
use-discourse-user-webhook - 0
webhook-match-user-email - 0
verbose-webhook-logs - 1
enable-sso - 0
auto-create-sso-user - 0
real-name-as-discourse-name - 0
force-avatar-update - 0
redirect-without-login - 0
sso-client-enabled - 0
sso-client-login-form-change - 0
sso-client-sync-by-email - 0
sso-client-disable-create-user - 0
sso-client-sync-logout - 0
logs-enabled - 1

Une légère inexactitude que je remarque dans la sortie meta est que je n’utilise pas “MySQL” mais plutôt son fork “MariaDB” (mariadb-server-10.11.10-1.fc41.x86_64). De plus, j’ai le paquet php-mysqlnd installé (php-mysqlnd-8.3.17-1.fc41.x86_64).

Merci pour ces détails @Gregory_Bartholomew. Comme il s’agit d’un thème activé par blocs, avez-vous essayé le bloc WP Discourse Comments ?

Oui, j’ai vu cette vidéo et j’ai déjà activé la case à cocher en haut :

image

Donc, pour confirmer, vous êtes allé dans Apparence > Éditeur, avez ouvert le modèle de publication unique et ajouté le bloc WP Discourse au modèle ?

Non, je ne me souviens pas avoir fait quoi que ce soit de tel. Je suppose que je l’ai manqué dans la vidéo. Je vais essayer ça maintenant. Merci !

1 « J'aime »

Eh bien, cela semblait prometteur, mais lorsque j’ai cliqué sur « voir le site » pour revenir à la page d’index principale, cela a planté. :confused:

Extrait du journal php-fpm :

[27-Feb-2025 15:21:37 UTC] PHP Fatal error:  Uncaught Error: Call to undefined function WPDiscourse\\Shared\\mb_convert_encoding() in /wordpress/wp-content/plugins/wp-discourse/lib/template-functions.php:335
Stack trace:
#0 /wordpress/wp-content/plugins/wp-discourse/lib/discourse-comment-formatter.php(136): WPDiscourse\\DiscourseCommentFormatter\\DiscourseCommentFormatter->fix_avatars_in_quotes()
#1 /wordpress/wp-content/plugins/wp-discourse/lib/discourse-comment.php(312): WPDiscourse\\DiscourseCommentFormatter\\DiscourseCommentFormatter->format()
#2 /wordpress/wp-content/plugins/wp-discourse/blocks/comments/comments.php(34): WPDiscourse\\DiscourseComment\\DiscourseComment->comments_template()
#3 /wordpress/wp-includes/class-wp-block.php(537): render_block_wpdc_comments()
#4 /wordpress/wp-includes/class-wp-block.php(517): WP_Block->render()
#5 /wordpress/wp-includes/class-wp-block.php(517): WP_Block->render()
#6 /wordpress/wp-includes/blocks/post-template.php(123): WP_Block->render()
#7 /wordpress/wp-includes/class-wp-block.php(537): render_block_core_post_template()
#8 /wordpress/wp-includes/class-wp-block.php(517): WP_Block->render()
#9 /wordpress/wp-includes/class-wp-block.php(517): WP_Block->render()
#10 /wordpress/wp-includes/blocks.php(2191): WP_Block->render()
#11 /wordpress/wp-includes/blocks.php(2243): render_block()
#12 /wordpress/wp-includes/block-template.php(263): do_blocks()
#13 /wordpress/wp-includes/template-canvas.php(12): get_the_block_template_html()
#14 /wordpress/wp-includes/template-loader.php(106): include('...')
#15 /wordpress/wp-blog-header.php(19): require_once('...')
#16 /wordpress/index.php(17): require('...')
#17 {main}
  thrown in /wordpress/wp-content/plugins/wp-discourse/lib/template-functions.php on line 335

Edit1 : Il indique une fonction non définie mb_convert_encoding(). Peut-être que je dois juste installer un paquet PHP manquant ?

Edit2 : Oui, c’était tout. J’ai dû installer php-mbstring. Tout semble fonctionner maintenant. Merci !

Un petit problème que je constate toujours est que les emojis et les avatars ne semblent pas s’afficher :

Je suppose que je dois encore configurer quelque chose ?

Du côté de Discourse, mon avatar n’est qu’une lettre par défaut dans un cercle :

De plus, l’emoji ne semble pas s’afficher correctement du côté de Discourse non plus, mais cela me préoccupe moins car je n’administre pas l’instance Discourse de production que j’espère utiliser à terme. :slightly_smiling_face:

Edit : Laissez tomber pour le problème des avatars. Il semble que cela soit au moins en partie dû à la configuration de mon environnement. Je pointe WordPress vers le port 3000, mais les avatars se résolvent en http://localhost:4200/letter_avatar_proxy/v4/letter/.... Je vais probablement les désactiver de toute façon.

Je suis content que vous ayez réussi !

1 « J'aime »

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