75 guides published Start a blog Fix my site How we test
FIX IT

Comments Are Enabled but Not Appearing

Comment settings exist in more places than people expect, and a setting at any one of them can suppress the whole section. Check them in this order.

The short version

  • The per-post setting overrides the global one.
  • Changing the global setting does not affect existing posts.
  • Check the moderation queue before assuming nothing was submitted.
  • A theme that omits comments_template() shows nothing regardless.

1. The global setting

Settings → Discussion. “Allow people to submit comments on new posts” must be ticked.

Watch out

Note the words “on new posts”. This setting applies only to posts created after you change it. Existing posts keep whatever setting they had when they were published — which is the single most common cause of this problem.

2. The per-post setting

Open a post, check the Discussion panel in the sidebar, and confirm “Allow comments” is ticked. If the panel is missing, enable it in the editor’s preferences.

To change existing posts in bulk:

# every post
wp post list --post_type=post --format=ids | \
  xargs -d ' ' -I % wp post update % --comment_status=open

# or directly
wp db query "UPDATE wp_posts SET comment_status='open'
  WHERE post_type='post' AND post_status='publish';"

Back up first. There is no undo on a bulk update.

3. Moderation

Check Comments in the admin for a pending queue. Settings that hold comments:

  • “Comment must be manually approved” — holds everything.
  • “Author must have a previously approved comment” — holds all first-timers.
  • Comment moderation keywords — holds anything matching.
  • Link count threshold — holds comments with more than N links.
  • An anti-spam plugin that marked them as spam.

Check the Spam folder specifically. Aggressive spam filtering catching legitimate comments is common.

4. Automatic closing

Settings → Discussion has an option to close comments on posts older than a set number of days. If it is enabled, older posts stop accepting comments silently.

5. The theme template

If comments are enabled, approved comments exist, and nothing renders, the theme is not calling the template:

// in single.php, inside the loop
if ( comments_open() || get_comments_number() ) {
    comments_template();
}

Some minimal and magazine themes deliberately omit comments. A child theme can add the call back.

6. A plugin disabling them

“Disable comments” plugins are installed and forgotten. Check the plugin list for anything managing comments, and check whether a caching plugin is serving a cached version of the page from before comments were enabled.

Diagnosis

SymptomCause
No comment form on any postGlobal setting, or the theme
Form on new posts onlyExisting posts have comment_status closed
Form appears, comments do notModeration queue or spam
Worked until recentlyAuto-close after N days, or a plugin
Visible logged in, not logged outPage cache serving a stale copy

Common questions

Should I enable comments?

On a new site, no — you get spam and no discussion. Turn them on when you have readers who want to talk back.

Why did my comment count not change?

The count is cached in the post meta. Clear the cache, or run wp comment recount.

Comments appear for me but not visitors

You are logged in and bypassing the page cache. Purge it.

S

Sumit

Writes everything on TechMozz.

More in Fix It