嘿,有没有办法在我们网站上发布每篇博客文章时不自动创建主题,同时仍然保留讨论区?
我觉得,只要某篇博客文章有评论,就自动生成主题会更合理。目前的逻辑是,主题必须先存在,人们才能发表评论。
提前感谢!
嘿,有没有办法在我们网站上发布每篇博客文章时不自动创建主题,同时仍然保留讨论区?
我觉得,只要某篇博客文章有评论,就自动生成主题会更合理。目前的逻辑是,主题必须先存在,人们才能发表评论。
提前感谢!
你想做的是同样的事情吗?
如果是的话,请参阅:
感谢您的回复。是的,我确实希望仅在特定条件下触发 Discourse 上的帖子。
不过,我们的网站并非使用 WordPress 构建,而是使用 Hugo 构建的。
我们有什么办法可以实现这一点吗?
为了明确说明,我们除了 Discourse 之外不使用任何其他评论系统。因此,我们希望在用户实际对帖子发表评论时才创建话题,而不是像下面这样在 Discourse 上产生一堆空话题:
我表达清楚了吗?
是否有相关的设置可以实现这一点?
不太清楚……如果话题还没有在任何地方发布,用户该如何回复呢?每个话题都必须从 0 条回复开始。我想我可能漏掉了什么:thinking:
我认为你想要的效果是:所有从你的网站同步到 Discourse 的主题默认标记为 未列出(unlisted)。一旦某个主题收到评论,它会自动变为 已列出(listed)。未列出的主题不会出现在主题列表中,这样就能避免你的网站主题列表里充斥着没有回复的主题。
这种配置适用于这样的场景:用户通过点击博客文章下方显示的“发起讨论”链接来访问 Discourse 主题。Discourse 本身目前没有提供相关设置,但我觉得这是一个合理的功能请求。Discourse 的 WordPress 插件已具备此功能,它通过调用 Discourse API 来实现主题的未列出与列出操作。
@simon 这正是我们想要的!感谢您的回复。问题在于我们的网站并非基于 WordPress 构建。不过,我们可以查看一下 Discourse API。
说到功能请求,我应该在哪里提交针对 Discourse 的请求呢?
@Canapin 所以我们的意思是,博客文章需要先收到评论,然后才会被列为 Discourse 主题。毕竟该文章在我们的网站上原本就已经存在了,对吧?
这是个好主意。另一个方案是:只有在用户点击链接后才创建主题,但我认为你的建议可能更简单。也许 @eviltrout 可以考虑将此作为本次发布的一个潜在任务,在下周进行?
如何通过 API 设置视频为“不公开”?我在评论嵌入文件(comment embedding.js)中找不到相关 API。谢谢。
弄清楚这一点最简单的方法是:按照本指南中概述的步骤,在 Discourse 用户界面中尝试取消公开某个主题,然后再将其恢复公开:如何逆向工程 Discourse API。
要通过 API 自动化该过程,您需要设置一个 Webhook 来监听帖子事件。当收到 Webhook 通知您嵌入分类中的首篇帖子已创建时,即可发送 API 请求将该主题设置为“不公开”。当收到 Webhook 通知您某主题的第二篇帖子已创建时,再发送 API 请求将该主题恢复为“公开”。
如上所述,更好的做法可能是:当用户首次从博客站点点击链接进入该主题时,自动将其设置为“不公开”。这样,第一位发表评论的用户就不会看到该主题被标记为“不公开”。虽然这样设置会稍微复杂一些,但可以通过 API 实现:监听指向您 Discourse 主题的链接上的点击事件即可完成。
在 Embed Discourse comments on another website via Javascript 这个主题中,这个需求已经被提出过多年了。
是的,我觉得我们应该这样做 @eviltrout。至少可以先用那种更简单的形式(默认不公开,一旦有回复就公开)?
好的,谢谢你的帮助。
很期待这个新功能。听起来非常必要。那我该如何在它上线时获取最新信息呢?
理想情况下,当该功能可用时,此主题将得到更新。如果是这样,如果您将此主题的通知级别设置为“关注”,您将收到相关通知。
好的,我已经为这个功能准备好了 PR:
好的,谢谢!
哇,这太令人印象深刻了!这么快。
我刚刚亲眼看到了这个功能!特别感谢 @codinghorror 和 @eviltrout。谢谢你们对用户请求如此迅速地响应。