pgross
(Paul H Gross)
1
你好,Simon,
我有一个网站(mycp.org),它以 WordPress 作为主单点登录(SSO)系统。目前一切运行正常,除了发布到 Discourse 的功能。我之前选择了自动发布,但发现这与区块编辑器不兼容。于是我又尝试勾选“强制发布”,然后更新了帖子,但依然没有成功。因此,我安装了经典编辑器(我对 Gutenberg 及其各种额外功能并不感冒)。再次尝试发布,仍然失败。随后我关闭了“强制发布”和“自动发布”,并尝试从编辑器发布一次更新(这次我并没有修改任何内容)。在整个过程中,我一直收到以下错误提示:“发布帖子时发生错误,请重试。”
您是否有任何关于如何修复或调试此问题的建议?
谢谢,
paul
simon
2
您是所有帖子都出现错误,还是仅特定帖子出现错误?
如果问题仅发生在特定帖子上,请进入该帖子的编辑页面,并从页面右上角附近的“屏幕选项”选项卡中选择“自定义字段”:
完成后,向下滚动并展开“自定义字段”元数据框。如果您看到任何与此截图中匹配的字段,可以安全地点击它们的“删除”按钮,然后尝试再次将帖子发布到 Discourse。如果您看到 wpdc_topic_tags 字段,也可以将其删除。该字段可能是导致问题的原因(Discourse 现在会对不允许的标签返回错误)——我正在为此实现修复。
请告诉我这是否有效,或者您是否仍在遇到错误。
pgross
(Paul H Gross)
3
嗨,Simon,
有一段时间我没尝试过其他帖子了,所以我可以先回答第一个问题。我确实按照这些说明操作了。这里还有一个未显示的字段 wpdc_publishing_error,在这次尝试(未成功)前后,它的值都是“Forbidden”(禁止访问)。
如果需要,我可以再试发一个帖子并更新它。
Paul
simon
4
这很有帮助!请检查您在插件的“连接设置”选项卡中输入的值。确保您使用的是 Discourse 站点的“所有用户”API 密钥,并且“发布用户名”设置为 ‘system’。唯一不需要设置为 ‘system’ 的情况是,您已在 Discourse 中修改了 System 用户的用户名。
接下来,进入您的 WordPress 个人资料页面,确认您的 Discourse 用户名与 Discourse 上的用户名完全一致。Discourse 用户名字段位于 WordPress 个人资料页面的底部附近。
pgross
(Paul H Gross)
5
我的 WordPress 用户名是 Paul_Gross,Discourse 用户名也是 Paul_Gross。当我进入 Discourse 的用户页面并搜索“system”时,我没有看到名为“system”的用户。
simon
7
如果您进入管理后台的“用户”或“员工”页面,您应该在列表中看到一个名为“system”的用户。如果您没有看到该用户,可能是它已被删除或重命名。
pgross
(Paul H Gross)
8
它在那里。但目前在 WP Discourse 连接页面上,我收到了“您未连接到 Discourse”的提示。不清楚原因……
simon
10
您尝试以其身份发布帖子的用户是否拥有在目标 Discourse 分类中发布主题的权利?发布帖子的用户由您在个人资料页面设置的 Discourse 用户名决定。
您能否尝试向您的网站发布一篇新帖子,以确认问题是否与这篇特定帖子有关?
pgross
(Paul H Gross)
11
我认为用户(也就是我,Paul_Gross,作为 WordPress 帖子的管理员和创建者)应该有权在我定义的 Discourse 分类(Research)下发布内容。我在两端都是管理员。还有其他导致“禁止”的原因吗?
pgross
(Paul H Gross)
12
顺便说一句,感谢你对此的快速深入探讨。我现在得离开电脑了,之后只能用手机回复,但深入挖掘需要大屏幕和键盘(这是我的局限,不是 Discourse 的响应问题)!
Paul
simon
13
没问题。我目前正在开发一项功能,旨在改进 Discourse 返回的错误信息。仅显示“禁止”并不够有帮助。方便的话,请尝试发布一个新主题,并告诉我结果如何。
pgross
(Paul H Gross)
15
嗨,Simon,
我不确定这是否算数,但我已将内容复制到一个新帖子并发布。自定义字段中仍然出现“禁止”错误代码……
Paul
spa
17
我们基本上在一个多站点设置中拥有 3 个博客,它们都发布到同一个 Discourse 论坛。其中 2 个博客运行正常,没有任何问题,但其中一个现在返回了与 @pgross 之前提到的类似的“禁止访问”错误。我尝试了这里的建议,但毫无成效。所有帖子都由同一用户发布,并且直到昨天为止一直运行正常,所以这让我有些困惑。
simon
18
您能否找出在出现“禁止访问”错误的网站与其他正常网站之间有什么不同?例如,您是否正在向受保护的分类发布内容?您是否在向 Discourse 发布主题时添加了标签?如果是,这些标签是否可能不被允许发布到该分类中?
您是否启用了 WP Discourse 的“添加精选链接”选项?该选项位于“发布设置”标签页中。
spa
19
嘿 @simon,这三篇博客本质上都是同一篇博客,只是语言不同。它们的设置完全一样,据我所知没有任何区别。我们一直没有添加任何标签,但确实使用了“添加精选链接”选项。
希望这能帮到你?
编辑:想补充一下,我用新文章做了测试,一切正常,但那个未能推送的特定文章仍然显示“禁止访问”。
simon
20
您能否尝试安装 Query Monitor – WordPress plugin | WordPress.org English (Canada) 或类似的插件,然后再次尝试发布该帖子?它应该会提供一条详细的错误信息,说明从 Discourse 收到的响应。
编辑:您是向 Discourse 发布完整的帖子内容,还是仅发布帖子的摘要?