The simplest way to add like and dislike buttons to WordPress comments is to install a plugin made for comment voting. The general-purpose Like Dislike – Like Buttons, Helpful Votes & Most Liked Posts plugin is the best starting point for most sites: install it from Plugins → Add New Plugin, activate it, then configure Like Dislike → Settings. A comment-specific alternative is Comments Like Dislike; choose a broader engagement plugin only if you also need reactions, ratings, views, favorites or sharing.
What you need before adding comment votes
WordPress comments must already be enabled for the relevant posts or pages. In the editor, open the post or page discussion settings and allow comments; WordPress then displays the normal comment form. Voting plugins extend that native comment system rather than replacing it.
- Back up the site and test the change on staging first.
- Install one voting system only. Overlapping plugins can create duplicate controls and conflicting vote counts.
- Check that your active theme displays comments through the hooks or template markup expected by the plugin.
- Plan how anonymous votes, moderation, caching and privacy requests will be handled.
Option 1: Add voting with Like Dislike
Like Dislike – Like Buttons, Helpful Votes & Most Liked Posts is the broadest no-code route documented for this purpose. Its WordPress.org listing says it adds like and dislike controls to comments, updates counts live, and lets a visitor switch or remove a vote.
Install and enable comment voting
- In WordPress administration, go to Plugins → Add New Plugin.
- Search for Like Dislike, install the plugin, and select Activate.
- Open Like Dislike → Settings.
- Enable comment voting and select the button style and placement offered by the installed release.
- Choose the voter restrictions for logged-in users and visitors, save the settings, and inspect a page containing comments.
The listing states that logged-in users can be limited to one vote per post or comment. Visitors can use a browser-cookie limit by default, with an optional one-vote-per-IP setting. Treat those as product settings, not as a guarantee that every anonymous vote represents a unique person.
#1 Best Overall
What this plugin currently documents
The plugin’s documented 3.0.0 changelog is dated September 25, 2026. It lists live counts, vote switching and withdrawal, comment likes and dislikes, blocks, shortcodes, statistics, privacy tools, and fixes involving cached pages and shared-IP behavior. Recheck the listing and the installed release before publishing instructions because plugin features and compatibility can change.
Check the front end
- Verify that controls appear beside every intended comment, including nested replies.
- Click like, dislike, switch and remove (if enabled) and confirm that the count changes without creating duplicate controls.
- Test with a logged-in account and a private browser window to confirm the restriction policy.
- Use keyboard navigation and a screen reader. The listing describes accessible buttons, but no independent accessibility test is established here.
- Test on a narrow screen and with page caching enabled; cached comment markup can make counts or state appear stale.
Option 2: Use Comments Like Dislike for comment-focused controls
Comments Like Dislike concentrates on native WordPress comments. Its settings let you place controls before or after each comment, show likes only or both likes and dislikes, choose among four icon templates, upload custom icons, and set colors.
Rank #2
Configure the plugin
- Install Comments Like Dislike from the WordPress plugin screen and activate it.
- Open its Comments settings.
- Select the icon template, icon order, placement, display mode and restriction mode.
- Choose the colors, save, and check a post with comments on desktop and mobile.
Restriction modes documented by the plugin include cookies, IP-based limits and no restriction. Select a policy deliberately: no restriction can invite repeated voting, while IP controls can affect readers who share a network.
Manually place the buttons in a custom template
If automatic placement does not match your theme, the plugin documents this PHP function:
comments_like_dislike($comment_id);
Call it where the comment markup should display the controls, passing the current comment ID. Confirm the function name and generated markup against the installed version before using it in production. The plugin warns that icons may not render when a theme’s comments template does not use the comment_text filter.
Option 3: Choose a broader engagement plugin
Post Engagement – Like Dislike, Share, Views, Star Rating, Favorites & Copy Posts documents an Enable Comments Vote Feature, comment-vote shortcodes and user-history shortcodes. It makes sense when the site also needs post views, ratings, favorites or sharing. For comment votes alone, its wider scope can add settings you do not need.
Rank #4
Which approach fits your site?
| Need | Best fit | Important trade-off |
|---|---|---|
| Comment likes and dislikes with the quickest general setup | Like Dislike | Review its voter, privacy and cache settings after installation. |
| Fine control over comment icons, placement and restriction modes | Comments Like Dislike | Automatic icons depend on the theme’s comment markup and comment_text filter. |
| Comment votes plus views, ratings, favorites or sharing | Post Engagement suite | Broader scope means more configuration than a comment-only plugin. |
Decide how a vote is identified
- Logged-in account: ties the limit to a WordPress user and is usually the clearest policy for members.
- Browser cookie: convenient for visitors, but can be reset by clearing cookies or changing browsers.
- IP limit: can reduce repeat voting across browsers, but shared offices, schools and mobile networks may group different people together.
- No restriction: maximizes ease of use but provides no meaningful duplicate-vote control.
Decide where controls appear
Automatic placement is easiest when the theme follows standard comment hooks. Manual placement gives precise control in a custom comments template but requires PHP maintenance when the theme or plugin changes.
Decide how controls look
Thumbs, hearts, arrows, text labels and custom icons can all work. Choose a design with visible focus states, sufficient contrast and labels that communicate the action without relying on color alone.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Best Value
Privacy, caching and moderation checks
Review stored identifiers
Like Dislike says IP addresses are not stored and that a keyed one-way hash is retained for vote controls. Verify that statement, the installed release and the plugin’s privacy policy before publishing your own privacy notice. Check whether the plugin exposes data-export and erase behavior required by your site’s policy.
Account for page caching
Vote counts are dynamic. Test logged-in and anonymous views with your page cache, CDN and optimization plugins enabled. Purge affected caches after configuration changes and confirm that a visitor sees the correct updated state rather than an old rendered comment block.
Fit votes into moderation
Likes and dislikes are feedback, not a replacement for comment moderation. Keep spam filtering, reporting and administrator review enabled, and decide whether heavily downvoted comments remain visible, are collapsed or are handled exactly like other comments.
Troubleshoot missing or incorrect buttons
No controls appear
- Confirm the plugin is active and comment voting is enabled in its settings.
- Check that comments are enabled on the post and that the theme actually renders the comment list.
- With Comments Like Dislike, verify that the theme applies the
comment_textfilter; otherwise use the documented PHP function in a child theme or custom template. - Temporarily test with a standard theme and with other comment or optimization plugins disabled to identify a conflict.
Counts or vote state look wrong
- Clear the browser cookie only when testing the anonymous-vote policy; doing so can change the test identity.
- Purge page and object caches, then test in separate logged-in and private-browser sessions.
- Check whether an IP-based restriction is grouping users on the same network.
The layout breaks on mobile
Inspect the controls at narrow widths, increase spacing around the buttons, and preserve visible keyboard focus. If custom CSS is needed, add it in the child theme or the plugin’s supported custom-CSS area so an update does not overwrite it.
Free tools Windows power users keep installed
One-click scans. No signup required.
Quick Recap
Recommended implementation checklist
- Back up production and create a staging copy.
- Select either Like Dislike, Comments Like Dislike or the broader Post Engagement suite based on the scope table.
- Install and activate only that voting plugin.
- Set the voter-identity policy and document it in your privacy and community information.
- Configure placement, icons, labels and colors.
- Test comments, replies, switching or removing votes, keyboard access, responsive layout and cached pages.
- Confirm moderation, export and erase workflows.
- Recheck the plugin’s current WordPress and PHP compatibility immediately before publishing or updating the site.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

