Per-user configurable "Like" functionality (visibility)

Dear Discourse Dev team and Discourse admin/user community,

In the community for which I am an admin, we recently had a quite lengthy and at times very philosophical discussion as to the utility/value of the “Like” (button and “Likes”) functionality.

While we haven’t done any official polling yet, I’d expect a roughly 50/50 split on whether users would like to keep it visible (and be able to give and receive Likes) or hide this (not seeing the Like button, and also not seeing any likes received on any post/message).

My question now is how difficult it would be to make this a user-configurable setting (similar to how users can decide on whether they see the forum as a flat list of topics vs. categories for instance)?

Since I haven’t yet looked at the source code, it’s not all that easy for me to understand how complicated this might be, but I believe that, at least for our community, such a feature would be helpful, such that users who really enjoy (if not rely on) the Like button being available to express a kind of “After reading this post, I agree with what you said” sentiment can keep it, whereas other who see it as a sort of social engineering and “chase-after-approval” function can remove it from their experience altogether…

Thank you for considering this request! :slight_smile:

1 Like

Removing the like button for all users on the site seems like it would be fairly straightforward, but would require a lot of customization to the site’s layout. These types of customizations can break Discourse if the base layout gets changed in a Discourse update.

Only removing the like functionality for some users, so that they could neither like posts or have their posts liked seems like it would be a difficult project.

My own opinion is that likes are beneficial to Discourse. They are a simple way of exchanging attention. They also help to reduce noise in a topic by reducing the number of “thanks” types of posts. One thing to note about likes is that you are the owner of your Discourse site, so some of the social engineering concerns about the use of likes on major social media platforms might not apply to your Discourse site. I’m sure you’re not trying to addict users to the site so that you can collect as much of their personal data as possible.

One setting that your users should be aware of is the “Notify when liked” setting that is found in the Notifications setting of the user’s profile page. That setting defaults to “First time a post is liked and daily.” Some users on your site might prefer to set it to “First time a post is liked”, or “Never.” If you find that you’re getting too many notifications from a Discourse site, this setting is a great way to reduce them.


It isn’t too hard to hide all the like functionality via css, I know several sites that do this.

wild suggestion: If you add the ones who don’t want the like button in a group, can you add css which only targets that group?
in that case, you can hide the like for the users who are part of that group.

Hello @Simon_Cossar and Jeff,

I found the feature (already before, sorry for not making that explicit) in the admin panel to hide the Like functionality for all users. The reason I brought this up is that some users (in the community I am the admin for) feel strongly that the Like functionality “conditions” or biases the discourse towards stuff that “is liked” (rather than what makes for a productive discussion), whereas others feel also strongly that the Like functionality allows them to express and receive nonverbal agreement.

As a compromise, I was thinking it might be relatively easily possible to make this (existing!) setting become a “per-user” one, instead of a system-wide one, such that the CSS (reference) being injected into the page source has a kind of “does-user-want-to-see-likes?” if/then/else logic, by which users can decide which buttons they “hide” (such that additional hiding overrides the visibility from the admin panel, but not the reverse). I.e. users have the option to hide features, but not to make them visible against the admin’s settings…

But I understand that this might be considered too disruptive, plus it wouldn’t be obvious to other users which people in a community see (and can respond to) Likes, etc…

1 Like

Themes can be selected per user so conceivably you could build a “no likes” theme that hides likes via css. It will likely slip through a few places as the concept is core to Discourse… but making it disappear from posts / replies, the most likely place people will see it, would be pretty easy.


OK, I’ll give this a try–after I do some digging to learn more about the necessary CSS syntax that targets this feature :wink:

1 Like