DiscourseのコメントがWordPressブログに反映されない (2025バージョン)

DiscourseコメントがWordPressブログに反映されないからの議論を続けます。

こんにちは。テストのために、ローカルPCにDiscourse 3.4.0 (4abee26a32) とWordPress 6.7.2 のクリーンインストールを行い、コメントがDiscourseからWordPressに同期されない問題(WordPressからDiscourseへの最初の投稿は同期されます)に直面しています。私の問題は、上記の古いレポートと非常によく似ているようです。これはリグレッションでしょうか?

すべてのロギングを有効にしましたが、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"}

そして、WordPressの投稿のコメントセクションに表示されるのはこれだけです。

レスポンスのカウントはすぐに増加しますが、実際のコメントは表示されません。また、/var/log/php-fpm/www-error.log のシステムログにもエラーは表示されていません。

この問題の原因やデバッグ方法について、何かアイデアをお持ちの方はいますか?よろしくお願いします。

@Gregory_Bartholomew さん、これがリグレッションではないことを保証できます。ローカル環境で何が原因となっているのか、ステップを踏んで確認しましょう。

  1. どのテーマを使用していますか?
  2. ブロック対応テーマですか?
  3. テーマをカスタマイズしましたか?
  4. WP Discourse プラグインでどの設定を有効にしましたか?(ログの meta ファイルを共有していただけると助かります。)

WordPressのコメント機能を有効にしておくと、そうなった時期がありました。それは少なくとも1年前のことで、その動作が変わったかどうか、あるいはテーマに依存する問題だったかどうかは確認していません。

同様の問題が発生している場合は、並行して調査できます。同じ質問に答えていただけますか?

できますが、WordPressのコメントを無効にした後は問題ありませんでした。OPの問題は、WordPressのコメントがDiscourseを上書きすることです。簡単な解決策もあります。その投稿はDiscourseにリンクされません😏

なるほど。あなたの問題は、@Gregory_Bartholomewさんの問題とは異なっていたようです。彼の環境について具体的に確認し、問題の根本を突き止めましょう。それぞれ問題は新規に扱う必要があります。

えっと、私は現在進行中の問題は特にありません。なぜなら、どんな状況でもWordpressのネイティブコメントを許可しないからです。Discourseがそれを完全に処理してくれます。私の考えはただの弱い解決策のアイデアに過ぎず、それが設定の問題を引き起こすことになります🤷‍♂️

WordPress の組み込みコメントシステムを無効にする必要があるということですか?


現在はデフォルトの twentytwentyfive テーマを使用しています。

はい、そうです。また(ただし、おそらく無関係ですが)、デフォルトのテーマに小さなバグがあり、index.html ファイルをロードして再保存する必要がありました。問題と回避策はこちらに記載されています。

上記の回避策で、明らかに無関係な不具合を修正した以外は、テーマをカスタマイズしていません。

はい、ログページの meta 出力は以下のとおりです。

### This file is included in log downloads ###

### Server ###

WordPress - 6.7.2
PHP - 8.3.17
MySQL - 10.11.10

### Active Plugins ###

Fedora SSR Endpoint - 1.3.0
WP-Discourse - 2.5.6

### WP Discourse Settings (Secrets Excluded) ###

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

meta 出力で気づいたわずかな不正確な点は、私が「MySQL」ではなく、そのフォークである「MariaDB」(mariadb-server-10.11.10-1.fc41.x86_64)を使用していることです。また、php-mysqlnd パッケージ(php-mysqlnd-8.3.17-1.fc41.x86_64)もインストールされています。

詳細をありがとうございます、@Gregory_Bartholomew。ブロック対応テーマなので、WP Discourse Comments Blockをお試しになりましたか?

はい、その動画を見ました。すでに一番上のチェックボックスを有効にしました。

image

確認ですが、[外観] > [エディター] に移動し、[シングル投稿テンプレート] を開いて、テンプレートに WP Discourse ブロックを追加したということですか?

いいえ、そのようなことは何も覚えていません。ビデオで見逃したのだと思います。今試してみます。ありがとうございます!

「いいね!」 1

うまくいきそうでしたが、「サイトを表示」をクリックしてメインのインデックスページに戻ろうとすると、クラッシュしました。:confused:

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

編集1:未定義の関数 mb_convert_encoding() と表示されています。PHP の不足しているパッケージをインストールする必要があるのでしょうか?

編集2:はい、それだけでした。php-mbstring をインストールする必要がありました。これで全て正常に動作するようです。ありがとうございます!

絵文字やアバターが表示されないという小さな問題がまだあります。

何か設定が必要なのでしょうか?

Discourse側では、私のアバターは単なる円の中の文字のデフォルト表示になっています。

また、Discourse側でも絵文字が正しく表示されていないようですが、最終的に使用したい本番のDiscourseインスタンスの管理はしていないので、それほど気にはしていません。:slightly_smiling_face:

編集:アバターの問題は気にしないでください。環境の設定方法が原因の一部である可能性があります。WordPressをポート3000に向けていますが、アバターは http://localhost:4200/letter_avatar_proxy/v4/letter/... に解決されています。おそらく、それらは無効にするでしょう。

動作するようになってよかったです!

「いいね!」 1

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