将我的 Discourse WordPress 安装更新到最新版本后,我无法再从前台发布帖子到 Discourse。相反,WordPress 内部的 Discourse 面板显示:
“您的帖子无法发布到 Discourse。请检查您的 WordPress 个人资料页面中设置的 Discourse 用户名是否正确。”
我检查了 WordPress 个人资料页面中的 Discourse 用户名,它与我在 Discourse 中的用户名一致(我是管理员)。它也与 WordPress 中“连接 Discourse”设置里的“发布用户名”一致。
以下是我所能想到的所有用户名应保持一致的位置截图,它们确实一致,但错误仍然存在。
有任何帮助吗?我实在想不出自己哪里做错了。
simon
2
您能检查一下 WP Discourse 的连接设置选项卡,看看页面顶部是否显示“您已连接到 Discourse”的消息吗?
simon
4
您的用户是否有权限在您发布的 Discourse 分类中创建主题?您能否通过 Discourse 用户界面在该分类中创建主题?
是的,我能够在“首页讨论”分类中创建新主题/帖子,我的 WP Discourse 设置已配置为将新帖子推送到该分类。
simon
6
Discourse 返回的错误是 Forbidden(禁止访问)错误。出于某种原因,您在插件的“连接”选项卡中设置的 API 密钥和发布用户名没有权限以您的用户名发布帖子。
请尝试访问您的 /admin/api/keys 页面,创建一个“所有用户”API 密钥。如果您已经拥有“所有用户”API 密钥,可以直接使用它,无需创建新密钥。将该密钥复制到 WP Discourse 的“发布用户名”设置中,然后将“发布用户名”从“Neumannium”更改为“system”。保存连接设置,确保您仍然能看到 Discourse 连接通知。然后尝试发布一篇新帖子。
如果此方法无法解决问题,请告知我们。
感谢您的快速回复!
好的,我重新生成了一个新的 API 密钥(适用于所有用户)。我将其复制到 WP Discourse 设置中,并将用户名更改为 system。保存后,我发布了一篇新帖子。但我收到了相同的错误,帖子也没有同步到论坛。
simon
8
我的意思是,在 WP Discourse 连接选项标签页中,将设置为“发布用户名”的用户名更改为“system”。这假设您尚未更改 Discourse 站点上系统用户的名称。
如果您已经这样做了,但问题仍未解决,请尝试从 WordPress 个人资料页面的设置中移除您的 Discourse 用户名。完成此操作后,检查您是否能够发布帖子。如果一切正常,帖子将由系统用户发布。
我就是这样做的。
因此,我刚刚从 WP 个人资料页面中删除了我的用户名。该字段现在是空白的。在 WP Discourse 设置中,它显示为“system”。
我刚刚尝试发布一篇新帖子,但出现了相同的错误,所以帖子发布到了我的首页,而不是 Discourse。我注意到“发布到 Discourse”的复选框看起来与以前不同。或者也许我以前从未注意到它?不管怎样,它看起来像这样?这是一个线索还是毫无意义?
simon
10
是的,我也看到了。WordPress 更新了其后台样式。
我不确定问题出在哪里。唯一明确的是,当你尝试发布帖子时,Discourse 返回了 403 响应。你看到的关于用户名的信息只是对问题原因的推测,但似乎并不适用于你的情况。
你能尝试取消勾选 WP Discourse 的“使用完整帖子内容”站点设置,然后看看是否能将 WordPress 的摘要发布到 Discourse 吗?该设置位于插件的“发布设置”选项卡中。
Neumannium
(Dave Neumann)
11
抱歉,离开了好几天。
我会试试并告知你。
好的……我在 WP Discourse 设置中取消勾选了“使用完整帖子内容”选项,但在发布新帖子时仍收到相同的错误。