avatar
(Alistair Young)
1
我正在尝试将我的博客从 WordPress(带 Discourse 评论)迁移到 Ghost(带 Discourse 评论),并且按照 Official Ghost + Discourse Integration 上的说明设置了评论后,遇到了一些问题需要解决,如果您不介意的话:
- 在嵌入设置中,我没有勾选“导入的主题在有回复之前将处于未列出状态”,但当我转到新帖子并创建匹配的主题时,它确实在评论之前处于未列出状态。有没有办法避免这种情况,让主题在发布到 Ghost 时创建并列出?
另外,如果我误解了该设置的作用,那么它实际上是做什么的?
(尽管有建议,我的许多读者仍然坚持使用 Discourse 社区作为新帖子的来源,而不是博客本身,我需要支持他们。)
- 当博客是 WordPress 博客时,我使用了 WordPress Discourse 插件。当它创建匹配博客帖子的主题时,它们会进入 Discourse,就像链接被发布在那里一样,正如在这里的主题中间可以看到的:
有没有办法修改嵌入代码/设置来恢复这种行为?它既是索引中有用的链接,又是区分“评论”帖子和“社区”帖子的清晰标识符?
- 最重要的是,当我转到有现有 Discourse 评论的帖子(通过 WordPress 插件)时,页面上的评论部分会永远停留在“Loading Discussion…”状态。我曾期望,当然这也相当重要,这样的嵌入会链接到与该 URL 匹配的现有主题。有人想出办法来实现这一点吗?
(例如,请参阅 Spooooky 及其对应的帖子 [Spooooky - General - The Eldraeverse](https://eldraeverse.discourse.group/t/spooooky/748)。
非常感谢您在这方面的任何帮助!
pfaffman
(Jay Pfaffman)
2
我需要更仔细地查看代码,但我想,从 Discourse 的角度来看,您只需要确保嵌入记录中的 URL(我不记得确切的名称了)与您的新站点传递给它的 URL 相同。
所以,我认为只要新嵌入站点上的 discourseEmbedUrl 与新的匹配(或者您在 Discourse 的记录中更改它),您就没问题了。
DiscourseEmbed = {
discourseUrl: 'https://discourse.example.com/',
discourseEmbedUrl: '[EMBED_URL](http://example.com/blog/entry-123.html)',
// className: 'CLASS_NAME',
};
1 个赞
avatar
(Alistair Young)
3
据我所知,不幸的是,情况确实如此。我在开发者工具中查看了博客页面,看到了 Discourse 评论所在的位置:
其中脚本显示了一个 discourseEmbedUrl 参数,值为:
https://eldraeverse.com/2024/10/28/spooooky/
而在 Discourse 主题上,我在主题顶部的链接以及第一个帖子中的“最初发布于:”插入内容中都看到了相同的 URL。(我不确定 Discourse 中是否有其他特定位置可以查看原始嵌入记录,但主题本身中我看到的所有内容都匹配。)
编辑: 澄清一下,我之前使用的是 WP Discourse 插件,由于该插件没有在 Discourse 中使用嵌入配置进行配置,因此我无法查看旧的设置。但我确保了新的 Ghost 博客上的所有主题页面 URL 都与 WordPress 博客保持一致,所以一切都应该自动相同。
pfaffman
(Jay Pfaffman)
4
在 Rails 中,你可以查看
TopicEmbed.all
或
TopicEmbed.pluck(:topic_id, :embed_url)
来查看有什么内容,如果与你的内容匹配,那么应该就可以了,但它没有加载,我认为这表明你还没有允许你的其他网站在你的 Discourse 上进行嵌入。
avatar
(Alistair Young)
5
关于前者,我不认为我有权限运行它,因为我的 Discourse 是由你们托管的,或者至少我不知道该如何操作。
关于后者——我不确定我是否理解你的意思。我的嵌入配置是:
这应该能匹配旧网站和新网站的 URL,不是吗?除了末尾特定帖子的 slug 外,加载评论主题失败的帖子的 URL 与成功加载的帖子的 URL 相同?
pfaffman
(Jay Pfaffman)
6
哦。抱歉。我主要考虑的是自托管(或我自己的托管)。如果您使用的是 Business 托管,您或许可以使用数据浏览器插件来完成类似的操作。
您可以尝试启用 embed any origin 看看是否能解决问题。最坏的情况下,我认为,您应该能加载嵌入,但它不会显示您期望看到的评论。
avatar
(Alistair Young)
7
唉,一个普通的免费用户。科幻写作的收入并不像我希望的那样丰厚。
我试过 embed any origin,但唉,行为没有改变。
(我还查看了WP Discourse 插件的源代码,它似乎只与 Discourse API 通信来完成它的工作,而根本没有使用正常的嵌入支持。现在我看到 Discourse 在 Ghost 中的嵌入效果,这并不奇怪——旧 WordPress 中的评论看起来和行为都不同。
所以现在我不得不怀疑 Discourse 端是否记录了那些主题的任何嵌入 URL——尽管这引出了为什么我没有看到新的(嵌入)主题出现而是出现这种中断——以及我是否可以为它们添加一个?)
1 个赞
avatar
(Alistair Young)
8
我做了一个快速实验:如果我删除由 WP Discourse 插件创建的主题,随后访问 Ghost 博客上的同一个帖子,就会通过嵌入的方式创建一个新的帖子主题,因此显然 WP Discourse 的主题能够阻止嵌入正常工作,即使它们没有显示出来。
当然,这不是一个可行的解决方案,但它是一个数据点。