Kommentare in Discourse werden im WordPress-Blog (Version 2025) nicht angezeigt

Diskussion fortgesetzt von Discourse-Kommentare werden nicht im WordPress-Blog angezeigt:

Hallo. Ich habe eine frische Kopie von Discourse 3.4.0 (4abee26a32) und WordPress 6.7.2 auf meinem lokalen PC zu Testzwecken installiert und kann die Kommentare nicht von Discourse nach WordPress synchronisieren (obwohl der erste Beitrag von WordPress nach Discourse synchronisiert wird). Mein Problem scheint dem viel älteren Bericht oben sehr ähnlich zu sein. Könnte dies eine Regression sein?

Ich habe alle Protokollierungen aktiviert, aber das ist alles, was ich in den Protokollen meiner WordPress-Instanz sehe:

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

Und das ist alles, was ich im Kommentarbereich meines WordPress-Beitrags sehe:

Die Anzahl der Antworten erhöht sich sofort, aber ich sehe die eigentlichen Kommentare nicht. Ich sehe auch keine Fehler in den Systemprotokollen unter /var/log/php-fpm/www-error.log.

Hat jemand Ideen, was dieses Problem verursachen könnte oder wie man es debuggen kann? Danke.

Hallo @Gregory_Bartholomew, ich kann dir garantieren, dass es keine Verschlechterung ist. Lass uns durchgehen, was an deinem lokalen Setup das Problem verursachen könnte.

  1. Welches Theme verwendest du?
  2. Ist es ein Theme mit aktivierten Blöcken?
  3. Hast du das Theme angepasst?
  4. Welche Einstellungen hast du für das WP Discourse-Plugin aktiviert (teile vielleicht die meta-Datei aus den Protokollen).

Irgendwann hat das Aktivieren von WordPress-Kommentaren genau das bewirkt. Das war mindestens vor einem Jahr, und ich habe nie überprüft, ob sich dieses Verhalten geändert hat oder ob es sich um eine themenabhängige Frage handelte.

Wenn Sie ein ähnliches Problem haben, können wir das parallel untersuchen. Können Sie die Antworten auf dieselben Fragen mitteilen?

Ich könnte, aber das war kein Problem, nachdem ich die WordPress-Kommentarfunktion deaktiviert hatte. Das Problem des OP ist, dass die WordPress-Kommentarfunktion Discourse überschreibt. Und es kann auch eine einfache Lösung geben – dieser Beitrag wird niemals mit Discourse verknüpft :smirking_face:

Ich verstehe. Ich glaube, Ihr Problem war möglicherweise anders als das von @Gregory_Bartholomew. Mal sehen, ob wir spezifische Details zu seinem Setup erhalten und seinem Problem auf den Grund gehen können. Jedes Problem muss neu behandelt werden.

Nun, ich habe keine laufenden Probleme, da ich in keiner Situation die native Kommentierung von WordPress zulasse. Discourse kümmert sich bestens darum. Meine Gedanken waren nur eine schwache Lösungs-Idee und führen zu Konfigurationsproblemen :man_shrugging:

Sagen Sie damit, dass ich das integrierte Kommentarsystem von WordPress irgendwie deaktivieren muss?


Es ist derzeit das Standard-Theme „twentytwentyfive“.

Ja, das ist es. Außerdem (aber wahrscheinlich nicht relevant) gab es einen kleinen Fehler im Standard-Theme, der mich dazu zwang, die Datei index.html zu laden und erneut zu speichern. Das Problem und die Problemumgehung sind hier dokumentiert.

Abgesehen von der oben genannten Problemumgehung zur Behebung eines anscheinend nicht relevanten Problems habe ich keine Anpassungen am Theme vorgenommen.

Sicher, hier ist die meta-Ausgabe von der Log-Seite.

### Diese Datei ist in Log-Downloads enthalten ###

### Server ###

WordPress - 6.7.2
PHP - 8.3.17
MySQL - 10.11.10

### Aktive Plugins ###

Fedora SSR Endpoint - 1.3.0
WP-Discourse - 2.5.6

### WP Discourse-Einstellungen (Geheimnisse ausgeschlossen) ###

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

Eine leichte Ungenauigkeit, die ich in der Meta-Ausgabe bemerke, ist, dass ich nicht „MySQL“ verwende, sondern dessen Fork „MariaDB“ (mariadb-server-10.11.10-1.fc41.x86_64). Außerdem habe ich das Paket php-mysqlnd installiert (php-mysqlnd-8.3.17-1.fc41.x86_64).

Danke für diese Details @Gregory_Bartholomew. Da es sich um ein Block-fähiges Theme handelt, haben Sie den WP Discourse Comments Block ausprobiert?

Ja, ich habe dieses Video gesehen und bereits das Kontrollkästchen oben aktiviert:

image

Um das kurz zu bestätigen: Sie sind zu Darstellung > Editor gegangen, haben die Vorlage für einzelne Beiträge geöffnet und den WP Discourse-Block in die Vorlage eingefügt?

Nein, ich erinnere mich nicht, so etwas getan zu haben. Ich schätze, ich habe es im Video verpasst. Ich werde das jetzt versuchen. Danke!

1 „Gefällt mir“

Nun, es schien vielversprechend, aber als ich auf „Website anzeigen“ klickte, um zur Hauptindexseite zurückzukehren, stürzte sie ab. :confused:

Aus dem php-fpm-Protokoll:

[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: Da steht „undefined function mb_convert_encoding()“. Vielleicht muss ich nur ein fehlendes PHP-Paket installieren?

Edit2: Ja, das war alles. Ich musste php-mbstring installieren. Jetzt scheint alles zu funktionieren. Danke!

Ein kleines Problem, das ich immer noch sehe, ist, dass die Emojis und Avatare anscheinend nicht angezeigt werden:

Ich muss wohl immer noch etwas konfigurieren?

Auf der Discourse-Seite ist mein Avatar nur der Standardbuchstabe-im-Kreis:

Auch das Emoji scheint auf der Discourse-Seite nicht richtig angezeigt zu werden, aber das ist mir weniger wichtig, da ich die Produktions-Discourse-Instanz, die ich schließlich nutzen möchte, nicht administriere. :slightly_smiling_face:

Bearbeiten: Vergessen Sie das Avatar-Problem. Es scheint, dass es zumindest teilweise an der Einrichtung meiner Umgebung liegt. Ich leite WordPress an Port 3000 weiter, aber die Avatare werden zu http://localhost:4200/letter_avatar_proxy/v4/letter/... aufgelöst. Ich werde diese wahrscheinlich sowieso deaktivieren.

Es freut mich, dass es funktioniert hat!

1 „Gefällt mir“

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