Discourse 话题投票

|:discourse2: | 摘要 | Discourse 主题投票 允许用户在指定类别中对主题进行投票。[1] |
|:open_book: | 安装指南 | 该插件已包含在 Discourse 核心中。无需单独安装该插件。|

功能

要启用它,请编辑任意类别,在“设置”选项卡中查找“允许用户对此类别中的主题进行投票”复选框:

启用后,顶部菜单中将出现一个“投票”项。该类别中的主题可以进行投票,投票数将显示在主题标题旁边。

滚动时,投票功能也会显示在标题旁边。

为了更方便地从主题列表中查看投票数,投票数也会添加到主题标题下方。

以下是用户在投票前和投票后看到的视图:

用户个人资料页面中还有一个部分,显示其活跃投票:

活跃投票

活跃投票 指的是用户在当前可投票的主题中已投出的票数。限制活跃投票可以鼓励用户慎重地为对他们最重要的主题投票。

  • 每个用户可用的活跃投票数量可根据信任等级进行 配置。默认值如下:

    • TL0:2
    • TL1:4
    • TL2:6
    • TL3:8
    • TL4:10
  • 每个用户对每个主题只能投一票。

  • 当主题被关闭归档时,该主题的投票数保持不变。这些投票不再被视为活跃。投出这些票的用户将从该主题中恢复一票,并将其重新计入其可用投票池中。

  • 如果主题重新开放或取消归档,投票将被回收并重新计入用户的活跃投票数。

  • 如果主题回收了用户的投票,导致其超过活跃投票上限,用户只需等待主题关闭或归档,即可再次投票。

  • 如果整个主题(主题 A)合并到另一个主题投票主题(主题 B)中,将发生以下情况:

    1. 主题 A 中的唯一投票将被添加到主题 B 中。
    2. 主题 A 中的重复投票(同一用户在两个主题中都投了票)将不会添加到主题 B 中。相反,主题 A 中的投票将恢复至用户的可用投票池中。
    3. 主题 A 的投票数将被设为零,并且主题将被关闭,以防止在主题 A 中继续进行投票。

设置

名称 描述
topic voting alert votes left 当剩余票数达到此数量时提醒用户
topic voting enabled 是否允许用户对主题进行投票?
topic voting show who voted 是否允许用户查看谁投了票?
topic voting show votes on profile 是否允许用户在活动动态中查看自己的投票?
topic voting tl0 vote limit TL0 用户允许多少活跃投票?
topic voting tl1 vote limit TL1 用户允许多少活跃投票?
topic voting tl2 vote limit TL2 用户允许多少活跃投票?
topic voting tl3 vote limit TL3 用户允许多少活跃投票?
topic voting tl4 vote limit TL4 用户允许多少活跃投票?

类别设置

topic voting category setting

额外功能

:information_source: 在已激活投票插件的类别中,点赞功能会自动禁用。某些网站可能希望同时使用这两个功能来点赞回复,请参阅 如何重新启用点赞

数据探索器查询

列出为某个主题投票的人员及其电子邮件地址:

--[params]
-- int :topic_id

SELECT
tvv.user_id,
email
FROM topic_voting_votes tvv
JOIN user_emails ue ON ue.user_id = tvv.user_id
WHERE topic_id = :topic_id
AND ue.primary = true

更多探索器查询可在 Community Building > Data & reporting 中找到 - Topics tagged topic-voting

:discourse2: 由我们托管?该插件可在我们的商业版和企业版计划中找到 Topic Voting | Discourse - Civilized Discussion


  1. 这是由 @erlend_sh 整理的 此规范 的结果。 ↩︎

128 个赞
Display vote/like counter in main page
Displaying "Likes" more prominently
Plugin: Feature voting separated from Likes
Building an Amazon Discourse pilot, planning for scale
Two new plugin outlets - user_activity_bottom and user_menu_glyphs
Alternative Voting Category Style
Overwriting controllers in plugin
Are there Upvotes/Downvotes, Score for the Posts?
Voting vs Likes for feature requests
Thoughts on a plugin which turns discourse into stackoverflow
Topic Voting plug-in
Introducing ProCourse
Show votes in post list "totals" columns
Looking to switch from Vanilla, and have a few questions
Sort topics on frontpage daily by Votes
Question Answer Plugin
Some things I've built which you can use
Votes not being released after close
Notice: testing Discourse Reactions here on meta for 1 week!
Poll in restricted topic where users can’t reply
'How's my driving' plugin?
Marked as solved, Vote Replenishing & Querying
UserVoice vs Discourse
New Theme: Tag-Pages Navigation
Mounting widget in raw template?
Unable to see 'Like' button in the first post/topic
Customize # of Votes per User
Why do official plugin topics auto-delete responses?
Trust Level Permissions Reference
Show total votes next to total replies, views and activity columns
How to re-order (or hide) "Votes" and "My Votes" top menu list items?
Would it be possible to store voting data in a json file?
New Theme: Tag-Pages Navigation
Please update 'Understanding Discourse Trust Levels' — or is there a different doc?
"like" button on first post
Please help with the Discourse Voting Plugin
Running a photo competition
How to enable reactions only for certain categories?
What would be the best plug-in for Contest with public voting in two categories?
"Unlikable" posts can be liked using keyboard navigation
Plugin post-voting conflicts with previous question-answer-plugin
Available settings within the category edit page
Daily-limit mode for Voting Plugin
"Like this post" not available for some categories
Plugin to gather approvals / signatures on an initiative?
A reddit-ish theme for Discourse
Renaming Discourse Upvotes [Post Voting]
Poll with ability for user to add their own options
Discourse as a Conference App (in person, virtual, or hybrid)
Questions about the technical architecture of Discourse
Reactions not appearing on first post in topics
Badge Query (SQL)
Discourse forum for feature requests with upvotes + comments?
Sort category topic list by votes?
Why you should use Discourse internally for your company/team instead of Slack (4 years use case)
Votes not being returned on topic close
Topic Voting enabled for our #feature category! :partying_face:
A versioned API for client side plugins
Enable/disable voting for tags?
Feedback on Our Community
Creating an Analytical Hub using Categories, Approval Process and Upvoting
When goes to a category /latest doesn’t show the actual latest
Ratings instead of Hearts for Likes
Best practices of keeping track of feature requests
Bundling more popular plugins with Discourse core
How can I make a Discourse forum as "reddit like" as possible
Easily create Ideas categories using the Topic Voting plugin
Horizon: High Context Topic Cards
Horizon Theme
Muted topics still notifying me on Meta
Hook for a topic's category id?
Multiple topics in single API request
Some plugins not working after upgrade
A tour of how the Widget (Virtual DOM) code in Discourse works
Plugin: Feature voting separated from Likes
Wanted: Discourse Hacker News Plugin
Restricting poll creation to Trust Levels
Prospective Feature: Highlight Posts That Surpass Defined "Likes" Threshold
Is it possible to do Uservoice style voting with the voting plugin
Question Answer Plugin
Approach to a Nominate Post Button?
Migrating feature suggestions
Is there any plugin for downvoting questions and replies in Discourse
ProCourse Support
Topics that were voted on disappear from user profile after being closed
Current Projects - January 2026
Voting/ideation feature
Promote or demote suggestions
Rake task for merging users
Liking own posts — a specific use case of discourse
Multiple Choice Poll questions
Is Decision Making Possible on Discourse?
Advice for getting my little game dev community "out there?"
I need someone who can install a voting plugin
Comment on a question instead of answering it
Ranking of post, based on user upvotes
Views counter specification
Excluding Suspended, Silenced and Suspect Users When Exporting
Additional Appreciation buttons next to "Likes": "Insightful", "Actionable"
Error installing this plugin
Delegate poll votes to another person/persons
Can posts be rated or voted on?

作为 Discourse Post Voting 插件重命名的一部分,我们也将其重命名以与之配套。 :partying_face: :slightly_smiling_face:

因此,我在此正式欢迎大家来到 Discourse Topic Voting 插件。:tada::balloon::champagne:

14 个赞

非常喜欢这个插件。我用它来管理一个专门用于博客文章的分类。启用此插件的分类时,是否可以按得票数降序对主题列表进行排序?

再次感谢!

1 个赞

2 篇帖子被拆分到一个新主题:关闭主题时未返回投票

我注意到在以下动画中

用户在点击投票后才发现

  • 他实际上只有有限数量的投票
  • 而且他现在只剩下 xx 张选票了

也许他应该在点击投票按钮之前的鼠标悬停提示中了解所有这些信息。

3 个赞

2 篇帖子已拆分为新主题:“查看投票者”显示问题](/t/see-who-voted-display-issue/306641)

为了使其更加正式,此插件的数据库表已迁移到 topic_voting_,以匹配 post_voting_ 中的表以及站点设置。

当站点所有者更新此插件时,使用旧表名的现有数据浏览器查询将自动更新以使用新表名。

6 个赞

如何重新启用投票主题的第一个帖子的 Discourse Reactions?

你尝试过重新启用点赞的技巧吗?

2 个赞

啊抱歉,我确实这样做了,但以为它不起作用,直到我意识到我正在查看自己的帖子,所以我不应该期望看到点赞按钮 :laughing:

2 个赞

有没有办法将投票按钮直接添加到主题列表中?

1 个赞

这可能就是您要找的:

3 个赞

有没有办法让主题的创建者自动为他们的帖子投第一票?我们有很多用户创建了这些主题但忘记投票,每次都要提醒他们很麻烦。只是想问一下 :slight_smile:

感谢这个插件!

1 个赞

我也同意。如果用户不知道投票数量有限,他们就无法调整自己的行为,因此最初鼓励用户深思熟虑地投票的目标就无法有效实现。

是否可以在分类中禁用主题投票?我们希望该分类中的大多数主题都可投票,但有时也希望发布不可投票的主题。我看到主题有一个 can_vote 属性,但似乎在界面或任何 API 调用中都找不到可以更新它的地方。似乎是可能的,因为最初创建的 “关于 XYZ 分类” 的主题是不可投票的。

@tyler.lamparter 也许是分类设置中的这个选项?

@NateDhaliwal 我们已经启用了这个功能,但我在想是否有些放在那一类别的话题可以禁用它。因此,99%的放在我们类别中的话题应该具有话题投票功能,但少数几个不应该。

对,我认为那不可能。你可能可以用CSS隐藏它,但这会很困难,因为这些更改会影响整个网站,而不是每个主题单独处理……

原因似乎是每个主题都有一个 can_vote 标志,它已经驱动着 UI 显示的内容。我只是看不到任何可以通过 API 更新或通过 UI 设置此标志的方法。

创建新类别时生成的“关于此类别的主题”:

我们的一位用户在该类别中发布的一个主题:

1 个赞

对于 Feature 类别,这里的投票选项和信息是基于 feedback 主题的标签,用一些 CSS 隐藏的。

2 个赞