近五年来,我的博客一直使用 @techAPJ 的 wp-discourse-embed。这是一篇帖子示例:
Soya Chunks Masala Dry Recipe | A Little Bit of Spice 以及对应的论坛帖子:Soya Chunks Masala Dry - blog - comments
我成功迁移并设置了 @angus 的 WP Discourse:
但现在,旧的论坛帖子没有显示为博客帖子的评论。上面的博客帖子就是一个例子。
我猜需要进行一些映射。
我该如何集成呢?
这是我的日志样子:
还有最新的日志:
[2024-04-03 01:42:27] webhook_topic.ERROR: update_topic_content.webhook_verification_error [“message”,“Discourse Webhook Request Error: signatures did not match.”]
原始日志在此处。
1 个赞
您好,
关于:
此错误表示 WP-Discourse 中的 Webhook Secret Key 选项值与您 Discourse 网站的 webhook 中定义的密码不匹配。您可以检查一下吗?
@simon 如果我说错了会纠正我,但是的,WP 帖子需要同步到 Discourse 主题。对于现有主题,您应该可以选择链接到一个现有的 Discourse 主题:
。
同步后,评论应该会被检索。
我不确定是否有更好的方法;希望有人能提供更深入的见解。
4 个赞
simon
3
你在两个问题上都说对了。
@Jane_Jojo,请尝试使用 @Arkshine 展示的方法,将现有的 Discourse 主题链接到其对应的 WordPress 帖子。请注意,用户界面会因您使用的是经典的 WordPress 编辑器还是新的块编辑器而略有不同。
如果将 Discourse 主题链接到 WordPress 帖子有效,接下来的问题将是如何链接您所有现有的主题和帖子。您有多少旧帖子?如果手动链接到 Discourse 的帖子太多,可能有一种方法可以自动化该过程。
2 个赞
谢谢。
我做了这个。
当我进行 ping 时,我得到了 200,所以这很清楚。
然后我做了这个:
但帖子没有反映出来
我还有什么遗漏的吗?日志似乎没有任何更新。
更新:
当我从 discourse 钩子进行 ping 时
我在日志这边看到了这个
[2024-04-03 21:38:14] webhook_topic.ERROR: update_topic_content.response_body_error
simon
6
您看到的错误消息将在您“ping”钩子时生成。在 WordPress 端,代码期望 Discourse 发送的钩子中有一个 post 对象。如果您仅单击“ping”按钮,则该帖子将不在负载中。尝试在与 Discourse 链接的 Discourse 主题上发表评论,看看是否仍然出现错误。
关于让 Discourse 评论显示在您的 WordPress 网站上的问题:
- 确保您已在 WordPress 上为发布到 Discourse 的帖子启用评论
- 确保启用了“启用 Discourse 评论”选项:
如果您以前未在 WordPress 网站上启用评论,则可能不希望现在为尚未与 Discourse 连接的帖子启用它们。为避免为这些帖子显示 WordPress 评论表单,您可以启用全站评论,然后在 WP Discourse Commenting Options 页面中选择“删除 WordPress 评论模板”设置:
如果您仍然遇到问题,请告知我们。
1 个赞
当我查看页面的源代码时,我在 HTML 中看到一堆 discourse 引用。所以它在尝试一些东西……
simon
10
您可以检查一下您链接到 Discourse 的帖子的评论是否已启用?有时“讨论”选项不会显示在编辑页面上。您可能需要从“屏幕选项”菜单中选择它才能看到它:
simon
12
嗯,我没有在页面上看到任何表明评论模板正在加载的迹象。您截图中的 discourse-embed-js 引用并非来自 WP Discourse 插件。我认为它与 wp-discourse-embed 插件加载的脚本有关。它实际上在您的网站上触发了一个错误:
Failed to load resource: the server responded with a status of 404 () discourse-embed.js
页面上还有一个 <div>,来自 wp-discourse-embed 插件,而不是 WP Discourse 插件。
在您确认网站上缓存的评论存在问题之前,我不建议启用 WP Discourse 的“通过 Ajax 加载评论”设置。即使那样,它也应该能够显示评论模板。
您的网站上是否安装了与评论相关的插件?我想知道是否是某个插件或网站主题阻止了 WordPress 评论模板的加载。WP Discourse 插件依赖于该模板的加载。有一些变通方法,但它们都相当技术化。
我相信我们一定能解决这个问题 
1 个赞
Jane_Jojo
(Jane Jojo)
13
我在查看主题代码历史记录时,发现不久前我已将所有 WP 注释代码更改为 discourse 注释。
我怀疑需要旧版代码,对吗?
simon
14
我凭记忆来说,我不认为修改过的 comments.php 文件是导致问题的原因。应该发生的是,WP Discourse 插件应该在你的主题调用此函数时加载自己的评论部分,而不是加载你主题的 comments.php 文件:comments_template()。
查看你主题的 single.php 文件,或者用于显示你链接到 Discourse 的帖子的任何文件。看看该文件是否包含对 comments_template() 的调用。它看起来会像这样:
if ( comments_open() || get_comments_number() ) :
comments_template();
endif;
正是对 coments_template() 的调用应该触发 WP Discourse 评论的加载。
我可能对此有误。如果这不能帮助解决问题,我可以再仔细看看。
Jane_Jojo
(Jane Jojo)
15
我已经解决了这个问题。评论在主题级别被禁用了。启用它就解决了。\n\n感谢您提供的详细回复。
1 个赞
system
(system)
关闭
16
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.