Discourse Topic Voting

:discourse2: Summary Discourse Topic Voting gives the ability to vote on topics in a specified category.[1]
:hammer_and_wrench: Repository Link https://github.com/discourse/discourse-topic-voting
:open_book: Install Guide How to install plugins in Discourse


To enable it, edit any category, look on the settings tab for the “Allow users to vote on topics in this category” checkbox:

Once enabled, a “Votes” item is available in the top menu. The topics in that category can be voted on with the count of votes added next to the topic title.

The vote count is also included next to the title when scrolled.

To make it easier to see vote counts from a topic list, the vote count is also added under the topic titles.

Here are the views you’ll see given different states of the user and topic:

There is also a section in the user’s profile page that displays their active votes:


A few points about the backend:

  • The number of active votes is configurable and defaults to 10.
  • If the topic is closed or archived, the votes are released to the users and can be applied to other topics but the vote count on the topic remains.
  • If a topic is re-opened or unarchived, the votes are reclaimed and applied back to the users active vote count.
  • If a topic reclaims the votes of a user and they go over their limit, they simply need to wait until topics are closed or archived to allow them to vote again.

:information_source: In the categories where the Voting plugin is activated, Likes are automatically deactivated. Some sites may want to use both functions at the same time to like replies, see how to re-enable Likes.


Name Description
voting alert votes left Alert user when this many votes are left
voting enabled Allow users to vote on topics?
voting show who voted Allow users to see who voted?
voting show votes on profile Allow users to see their votes in their activity feed?
voting tl0 vote limit How many active votes are TL0 users allowed?
voting tl1 vote limit How many active votes are TL1 users allowed?
voting tl2 vote limit How many active votes are TL2 users allowed?
voting tl3 vote limit How many active votes are TL3 users allowed?
voting tl4 vote limit How many active votes are TL4 users allowed?

Category Setting


Data Explorer Queries

List people who voted for a topic along with their email addresses:

-- int :topic_id

FROM discourse_voting_votes dvv
JOIN user_emails ue ON ue.user_id = dvv.user_id
WHERE topic_id = :topic_id
AND ue.primary = true

More explorer queries can be found in data & reporting - Topics tagged topic-voting

:discourse2: Hosted by us? This plugin is available on our Business and Enterprise plans Topic Voting | Discourse - Civilized Discussion

  1. and is the result of this spec put together by @erlend_sh ↩︎