Discourse Topic Voting

:discourse2: Summary Discourse Topic Voting gives the ability to vote on topics in a specified category.[1]
:open_book: Install Guide This plugin is bundled with Discourse core. There is no need to install the plugin separately.

Features

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 a user will see before and after voting in a topic:

Screenshot 2024-05-13 at 10.08.17 AM Screenshot 2024-05-13 at 10.10.13 AM

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

Active Votes

The term Active Votes refers to the votes a user has cast in topics that are currently available for voting. Limiting Active Votes encourages users to vote thoughtfully for the topics that matter most to them.

  • The number of Active Votes available to each user is configurable by Trust Level. Default values:

    • TL0: 2
    • TL1: 4
    • TL2: 6
    • TL3: 8
    • TL4: 10
  • Each user may cast only one vote per topic.

  • When a topic is closed or archived, the vote count on the topic remains unchanged. These votes are no longer considered Active. The users who cast these votes will have their one vote from that topic restored to their pool of available votes.

  • 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, causing them to exceed their Active Vote limit, they simply need to wait until topics are closed or archived to allow them to vote again.

  • If an entire topic (Topic A) is merged into another Topic-Voting topic (Topic B), all the the following takes place:

    1. Unique votes from Topic A are added to Topic B.
    2. Duplicated votes (the same user voted in both topics) from Topic A will not be added to Topic B. Instead, the vote from Topic A will be restored to the user’s pool of available votes.
    3. Topic A’s vote count is set to zero and the topic is closed so that no further voting can take place in Topic A.

Settings

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

Category Setting

topic voting category setting

EXTRAS

: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.

Data Explorer Queries

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

--[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

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 ↩︎

Last edited by @southpaw 2025-07-25T02:39:13Z

Check documentPerform check on document:
128 « J'aime »

Dans le cadre du renommage du plugin Discourse Post Voting, nous avons également renommé celui-ci pour le compléter. :partying_face: :slightly_smiling_face:

Je vous souhaite donc officiellement la bienvenue dans le plugin Discourse Topic Voting. :tada::balloon::champagne:

14 « J'aime »

J’aime vraiment ce plugin. Je l’utilise pour une catégorie réservée aux articles de blog. Lorsque j’entre dans une catégorie avec ce plugin activé, serait-il possible de trier la liste des sujets par nombre de votes décroissant ?

Merci encore !

1 « J'aime »

2 messages ont été déplacées vers un nouveau sujet : Les votes ne sont pas retournés à la fermeture du sujet

Je remarque dans l’animation sur

que l’utilisateur découvre seulement que

  • il a en fait un nombre limité de votes
  • et qu’il ne lui reste plus que xx votes
    après avoir cliqué pour voter.

Peut-être devrait-il apprendre tout cela dans le survol du bouton de vote, avant de cliquer.

3 « J'aime »

2 messages ont été déplacées vers un nouveau sujet : 'Problème d'affichage de « Voir qui a voté »

Pour rendre cela plus officiel, les tables de base de données de ce plugin sont maintenant migrées vers topic_voting_ pour correspondre également à celles de post_voting_, ainsi qu’aux paramètres du site.

Lorsque les propriétaires de sites mettront à jour ce plugin, les requêtes existantes de l’explorateur de données qui utilisent les anciennes tables seront automatiquement mises à jour pour utiliser les nouveaux noms de tables.

6 « J'aime »

Comment puis-je réactiver les réactions Discourse sur le premier message d’un sujet de vote ?

Avez-vous essayé l’astuce pour réactiver les likes ?

2 « J'aime »

Ah désolé, je l’ai fait mais je pensais que ça ne marchait pas jusqu’à ce que je réalise que je regardais mes propres publications, donc je ne devrais pas m’attendre à voir un bouton “j’aime” :rire:

2 « J'aime »

Y a-t-il un moyen d’ajouter le bouton de vote directement dans la liste des sujets ?

1 « J'aime »

Je pense que c’est ce que vous cherchez :

3 « J'aime »

Y a-t-il un moyen de faire voter automatiquement le créateur du sujet pour son propre message ? Nous avons un tas d’utilisateurs qui créent ces sujets mais oublient de voter, et c’est un petit désagrément de devoir leur rappeler à chaque fois. Je me posais juste la question :slight_smile:

Merci pour le plugin !

1 « J'aime »

Je suis d’accord avec cela. Sans que les utilisateurs sachent que les votes sont limités, ils ne peuvent pas ajuster leur comportement, donc l’objectif initial d’encourager les utilisateurs à voter de manière réfléchie n’est pas atteint efficacement.

Est-il possible de désactiver le vote par sujet dans une catégorie ? Nous souhaitons que la plupart des sujets dans la catégorie soient votables, mais parfois nous voulons poster des sujets non votables. Je vois qu’il y a une propriété sur les sujets pour can_vote, mais je ne semble pas trouver où dans l’interface utilisateur ou dans un appel API la mettre à jour. Cela semble possible puisque le sujet “À propos de la catégorie XYZ” qui est initialement créé n’est pas votable.

@tyler.lamparter Peut-être ce réglage dans les paramètres de la catégorie ?

@NateDhaliwal nous avons cela activé, mais je me demande si certains sujets classés dans cette catégorie peuvent avoir cette option désactivée. Donc 99 % des sujets placés dans notre catégorie devraient avoir le vote sur le sujet, mais une poignée de ceux-ci ne devraient pas l’avoir.

D’accord. Je ne pense pas que ce soit possible. Vous pourriez peut-être le cacher avec du CSS, mais ce serait difficile car ces changements seraient à l’échelle du site, et non par sujet…

La raison pour laquelle cela semble possible est qu’il existe un indicateur can_vote sur chaque sujet, et il détermine déjà ce que l’interface utilisateur affiche. Je ne vois aucun moyen de mettre à jour cet indicateur via l’API ou de le définir via l’interface utilisateur.

Le sujet « À propos de cette catégorie » qui est créé à chaque fois qu’une nouvelle catégorie est créée :

Un sujet dans lequel l’un de nos utilisateurs a posté dans la catégorie :

1 « J'aime »

Pour la catégorie Feature, les options de vote et les informations sont cachées avec un peu de CSS basé sur la balise pour les sujets feedback.

2 « J'aime »