如何将主题的查看计数同步回 discourse?

大家好,

我构建了一个 VUE SPA,并使用 discourse API 在 Wordpress 上使用它,我想知道是否有办法在用户打开 Wordpress 上的主题时向 discourse 发送 POST 请求以更新主题的查看次数?

2 个赞

嘿 Alex,

我很想多了解一下。有什么可以分享的吗?

通过 WP Discourse 插件拉取的主题帖子不会在 Discourse 中创建新的查看次数,但是如果你使用 topics_controller 中的标准 show 端点,并通过下面突出显示的检查,那么“查看次数”将被跟踪。请注意,使用 api 密钥意味着存在一个 current_user

注意

阅读该代码时要注意的一个陷阱是,TopicView 实际上并不是你正在寻找的那个(它是一个在主题显示时处理序列化数据的模型)。实际的“主题查看”模型是 TopicViewItem

3 个赞

你好 @angus

感谢你的见解。我将查看主题视图的代码库。

关于 SPA 应用:

最初我们在 WordPress 上有一个论坛插件,它们为问题和答案创建了自己的帖子类型,以及分类和标签。在通过 WP Discourse 插件设置 SSO 时,我在 Discourse 上启用了 Webhooks,以将主题同步到具有该帖子类型的 WordPress,并使用嵌入式答案。

此时,论坛前端很单调,因为每个依赖于其 WP 数据的问答项目只能显示标题和作者,而我想显示发帖人、浏览量、点赞数和回复状态。修改该插件对我来说没有意义。

使用 SPA,拉取和显示数据会更快、更灵活。它会显示分页的最新主题,以及一个侧边栏,其中包含热门主题,并具备过滤/搜索功能。

最初,在主题详情视图中,我也想处理显示答案/回复。不知何故,嵌入式回复显示发帖人的用户名而不是全名

我还遇到了表情符号和其他资源相对于 Discourse 网站的问题,所以我退而求其次,坚持使用嵌入式。

另一个问题是 SEO,我能够通过 WordPress 中的 wp_head 钩子来处理它。

1 个赞