在 Discourse 上发布带有 WordPress 画廊的帖子

你好,

我使用“WP Discourse”插件已有数月,它在处理包含图库和段落的文章时一直运行良好。

我在博客上发布了一篇仅包含约 60 张图片的图库文章,但该图库并未在关联的 Discourse 话题中显示。相反,它先提取了某个 GDPR 插件的文本,然后提取了页脚的文本。

我该如何解决这个问题?是否需要在主题的 functions.php 文件中添加某些代码?

期待您的回复,非常感谢 :slightly_smiling_face:

以下是相关论坛帖子的链接

你好,有什么新消息吗?

我想问题出在 Discourse 上,但不知道该如何修复。

有人能帮忙吗?:folded_hands: 谢谢

@FrancescoM

为了澄清您的问题,您是想说:

  1. 您已使用 WP Discourse 插件的发布功能一段时间了。
  2. 您在 WordPress 中创建了 这篇包含图片画廊的帖子,并已发布到 Discourse,成为 这个主题
  3. Discourse 主题首帖的预览文本是“Excalibur Hybrid X – 照片与射击测试”,但点击“显示完整消息”后,您看到的是“© 2026 La Balestra Moderna。禁止以任何方式或形式复制、发布、复制或重新分发内容。”

我理解您是想说问题出在第 3 点?具体来说,您期望点击“显示完整消息”时能看到图片。是这样吗?

你好 @angus,感谢你的回答 :folded_hands:

是的,没错。对于之前发布的帖子,一切运行正常。点击“显示完整帖子”按钮后,我既能看到画廊,也能看到文字内容。

我在此附上了一个在 WordPress 和 Discourse 上都能正常工作的帖子示例:

该帖子中包含作为画廊展示的照片以及一些文字。

如果帖子仅包含图片(以画廊形式插入),Discourse 会显示页脚文本,或者显示“Moove GDPR Cookie Compilation”插件弹窗中的提示信息。如果我禁用该 GDPR 插件,则能看到页脚内容。

如果我将图片以“照片”形式插入(使用 Gutenberg 区块),Discourse 会显示图片,但不会显示画廊。

请问该如何解决这个问题?再次感谢 :folded_hands:

区别在于,您报告的案例中,WordPress 帖子仅包含图片。而在另一个案例中,帖子还包含文本。您遇到问题的帖子中,是否可以在图片之前添加一些文本?

是的,我在图库块前后添加了一些文本,但在 Discourse 上我只看到了文本,没有图片。

我在“图库”块之前的帖子中添加的文本如下:

Excalibur Hybrid X – 照片与射击测试

是我操作有误吗?还是需要删除帖子并重新发布?

谢谢 :folded_hands:

是的,我建议您重新发布该帖子,附上文字和图片,看看是否能解决问题。如果无效,我们可以探讨其他方案。

我刚刚在 Discourse 上删除了该主题,并在 Gutenberg“画廊”块前后添加了一些文本,但遗憾的是,这并没有起作用。内容在摘要中清晰可见,但一旦点击按钮,它就会被 GDPR 插件的消息替换。

这是新主题的链接:

我现在该怎么做才能调查并解决此问题?我还清除了 WordPress(LiteSpeed 和 Cloudflare)的缓存。

您需要我的 WP-Discourse 设置吗?

再次感谢 :folded_hands:

看起来您没有在 WordPress 上发布新帖子。如果您在 WordPress 上重复使用同一篇帖子,相同的预览内容会被缓存。请尝试在 WordPress 上发布一篇新帖子,使用相同的照片,但在开头添加文字。

我在这篇 WordPress 帖子中创建了以下内容

以及这里链接的主题

但似乎无法正常工作。也许我需要插入更多文本?还是说它本应直接显示出来?

再次感谢 :folded_hands:

基本问题在于,从您的网站抓取内容的方式是使用一个名为 Readability 的 gem,它基于 Mozilla 的阅读器视图算法。

本质上,这里发生的情况是 Readability 算法在处理以图片为主的内容时效果不佳。预览功能主要是为以文本为主的帖子设计的。

基本上是的。一种测试方法是在 Firefox 中使用阅读器视图查看您的 WordPress 帖子,以了解 Readability gem 可能生成的结果。

非常感谢您详细的回答 @angus :folded_hands:

我可以在 Discourse 中编辑这个可读性测试吗?

另外,我会通过添加一些文本和描述来进行测试,然后告知您结果。

再次感谢!

你可以通过以下站点设置来控制 Readability 用于抓取内容的 HTML 选择器:

  • allowed_embed_selectors
  • blocked_embed_selectors
  • allowed_embed_classnames
  • embed_title_scrubber

但这些设置不会直接影响 Readability 对图片的处理方式。

非常感谢!:folded_hands:

我注意到 Firefox 的阅读器模式在那个画廊帖子中没有显示,我会尝试添加更多文本以及一些图片描述……

但首先,我会先查看这些设置。

再次感谢您的帮助,我会随时向您反馈!

我注意到在我的 Discourse 设置中只能找到“allowed_embed_selectors”。

我通过插入主题中的 CSS 类来修改它。此外,我还使用了一些“技巧”来提高可读性评分,而且效果很好!

我添加了更多文本、一些图片的 alt 属性,并为帖子添加了一个全局“包装器”以加入 <article> 标签。这在 Discourse 上运行得非常顺利,即使 Firefox 将“可读”内容显示为 GDPR 面板。

我现在有一个问题:能否将 Discourse 的灯箱扩展到主题中导入的 WordPress 图片?

再次感谢您的帮助!:folded_hands:

嗨,这里有一些更新。

我注意到 WP-Discourse 评论使用了 <article> 标签,而 1 小时前有一位成员插入了一条评论,解析器将该文本选为了帖子的主要内容。

我不得不编辑插件文件来更改标签,但我知道在下一次更新时这些修改将会丢失。

能否永久修复这个解析问题?

谢谢 :folded_hands:

其工作原理是,帖子中的 HTML 预览会保持与原始内容的一致性。要实现这一点,您需要开发一个自定义插件。

基本问题是一样的。试图让一个几乎全是图片的 WordPress 帖子在 WordPress 和 Discourse 之间实现 1:1 的完全一致,并不是该软件的设计初衷。主题嵌入功能(在 Discourse 端提供此功能)使用 Readability gem 的原因是,其假设您处理的是以阅读为主的内容(即文本)。

当然,可以实现 WordPress 和 Discourse 之间可靠的图片画廊同步,但这需要您设计相应的自定义方案(WordPress 插件和 Discourse 插件)来支持这种工作方式。

你好 @angus,感谢你的澄清。

我需要修改 WP-Discourse 插件吗?

此外,除了 CSS 选择器之外,还有其他方法可以自定义 Discourse 数据的获取或处理方式吗?

再次感谢你的帮助 :folded_hands: