Discourse评论未在WordPress博客(2025版)中反映

继续讨论 Discourse comments are not reflected on Wordpress blog

大家好。我为测试目的在本地 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 评论功能确实起到了这样的作用。那是在至少一年前,我从未检查过该行为是否已更改,或者这是否是一个依赖于主题的问题。

如果您遇到类似问题,我们可以并行调查。您能否分享相同问题的答案?

我可以,但这在禁用 WordPress 评论后就不是问题了。OP 的问题是 WordPress 评论会覆盖 Discourse。而且还有一个简单的解决方案——该帖子永远不会链接到 Discourse :smirking_face:

我明白了。我认为您的问题可能与 @Gregory_Bartholomew 的问题不同。让我们看看能否具体了解他的设置,并彻底解决他的问题。每个问题都必须单独处理。

好吧,我没有任何持续的问题,因为在任何情况下我都不允许Wordpress的原生评论。Discourse 完全可以处理这个。我的想法只是一个较弱的解决方案,导致配置问题🤷‍♂️

你的意思是需要以某种方式禁用 WordPress 内置的评论系统吗?


目前使用的是默认的 twentytwentyfive 主题。

是的,它是。另外(但可能不相关),默认主题有一个小错误,需要我加载并重新保存 index.html 文件。问题和解决方法记录在这里

除了上面修复明显不相关故障的解决方法外,没有,我没有对主题进行任何自定义。

当然,这是日志页面中的 meta 输出。

### 此文件包含在日志下载中 ###

### 服务器 ###

WordPress - 6.7.2
PHP - 8.3.17
MySQL - 10.11.10

### 活动插件 ###

Fedora SSR Endpoint - 1.3.0
WP-Discourse - 2.5.6

### WP Discourse 设置(已排除敏感信息) ###

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.