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.



  • Create a section for the user to see their active and archived votes.
  • Allow moderators/staff/admins to see who has voted on a topic.


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.


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

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


This is a brilliant plugin, thank you.

Could there be an option for people who vote on a thread to automatically become subscribed (tracking and/or watching)? We use this for tracking feature requests, but then find people miss out on notifications.


I’ve also noticed that if I use these below category settings, this makes the “Latest” tab show sorted by the most votes instead of the latest and therefore you cannot see the latest topics at all. Is this a bug or something I’m doing wrong?

I’d like the category by default to be sorted by votes (desc), with users having the option to sort by latest if they’d like to. Thanks.

1 Like

As part of the renaming for the Discourse Post Voting plugin we have also now renamed this one to compliment it. :partying_face: :slightly_smiling_face:

So I hereby officially welcome you all to the Discourse Topic Voting plugin. :tada::balloon::champagne:


Is there a way to filter search results in a category by number of votes and date. Trying to clean up a feature request category that has thousands of topics.

Just looking for feature request best practices, or seeing what items are a year old that have no votes etc…

1 Like

I’ve just installed the plugin but am getting an Error when I try to access the “your votes” section. Is this feature supported?

1 Like

Hi Richard, and welcome on meta :slight_smile:

Please pay attention to this part of this topic.

There no need to post your issue in multiple place, having only your new topic with the proper tag is the way to do :slight_smile:


Where I can see this plug in in action?

1 Like

You can check the Ghost CMS forum that already implemented that plugin in their Discourse instance.


I’ve also turned it on for try.discourse.org as well with a couple of placeholder ones to play with. :+1:


We’re still having this problem. Does anyone else have this issue? Or know how to resolve it? A live example can be seen at Ideas & feature requests - Breww Community

1 Like