Skip to content
WPExpertsHub
  • Plugins
  • WooCommerce
  • Services
  • Support
0 Explore Plugins
Esc

Popular User Security Guard for WordPress Media and Database Cleaner for WordPress Backup & Restore by WpExperts Hub

  • Plugins
  • WooCommerce
  • Services
  • Support
  • Cart (0)
Explore Plugins My Account
  1. Home
  2. Blog
  3. How to Choose Who Gets WordPress Comment Notification Emails

How to Choose Who Gets WordPress Comment Notification Emails

Updated 27 October 2026 · 10 min read

On this page

  1. 01Who WordPress emails by default, and what changes
  2. 02What you need
  3. 03Step-by-step setup
  4. 04Held comments: the “Please moderate” email
  5. 05Approved comments and replies: the “New comment” email
  6. 06How the recipient list is built
  7. 07Good to know and troubleshooting
  8. 08Routing by post with the recipients filter
  9. 09Links
In short

Send WordPress's "Please moderate" and "New comment" emails to your own list and the post author with WP Comment Notification. It does not email earlier commenters or add an unsubscribe.

Contents9 sections
  1. 01Who WordPress emails by default, and what changes
  2. 02What you need
  3. 03Step-by-step setup
  4. 04Held comments: the “Please moderate” email
  5. 05Approved comments and replies: the “New comment” email
  6. 06How the recipient list is built
  7. 07Good to know and troubleshooting
  8. 08Routing by post with the recipients filter
  9. 09Links

To choose who gets the comment emails WordPress sends, install WP Comment Notification, open Settings → WP Comment Notification, enter the addresses and click Save Changes. The plugin replaces the recipients of the “Please moderate” email, and optionally the “New comment” email, with your own list and, if you choose, the post author. One limit to know before you start: it does not email the people who commented earlier, so it cannot tell a commenter that someone replied. There is nothing for a visitor to opt in to or unsubscribe from.

Who WordPress emails by default, and what changes

Out of the box, WordPress sends the “Please moderate” email to the site admin email address, plus the post author when that author can edit the comment. The “New comment” email goes to the post author only. On a site with several editors, moderators or a support team, comments can sit in the queue while the right people never hear about them.

The plugin sends no email of its own. WordPress still builds and sends both emails, so they keep their usual wording, translations, subject lines and Approve, Trash and Spam links. Only the list of recipients changes. Here is what it deliberately does not do:

  • It does not email commenters. A reply is an ordinary comment, so the email about it goes to your list, not to the person being replied to unless you listed them. There is no subscribe checkbox on the comment form and no unsubscribe link.
  • It does not change the wording, subject, layout or sender of the emails. Use WordPress’s own filters for that, such as comment_moderation_subject.
  • It does not decide which comments are held for moderation. That comes from Settings → Discussion and from any anti-spam plugin you use.
  • It has no per-post or per-category lists on the settings screen. For that, use the filter described near the end.
  • It sends no digests and keeps no log of the emails it affects.

What you need

  • WordPress 6.2 or later and PHP 7.4 or later. The plugin header says it was tested up to WordPress 7.1.
  • A user who can open the settings screen. It needs the manage_options capability, which WordPress gives to Administrators (on multisite, to site administrators).
  • Working email on the server. The emails use the normal WordPress mail function, so if password reset emails do not arrive either, set up an SMTP plugin first.
  • Nothing else. WooCommerce is not required and no other plugin is needed.

Step-by-step setup

  1. Open Plugins → Add Plugin, search for “WP Comment Notification”, then click Install Now and Activate.
  2. Open Settings → WP Comment Notification. A Settings link also appears next to the plugin on the Plugins screen.
  3. In Notification email address(es), enter the addresses that should get the comment emails, separated by commas or one per line. The box starts filled with your site admin email address and your administrators’ addresses, so remove or add as you need.
  4. Tick Notify post author if the author of the post that received the comment should be emailed too.
  5. Tick Approved comments if the same people should also get the “New comment” email. It is off by default.
  6. Click Save Changes. If a message lists skipped addresses, correct them and save again.
  7. Test it: under Settings → Discussion tick Comment must be manually approved, then post a comment on a post while logged out (a private browser window works). Everyone on your list should receive a “Please moderate” email. Afterwards set the Discussion option back to how it was.

Held comments: the “Please moderate” email

WordPress sends this email when a new comment, pingback or trackback arrives and is held in the Pending queue. Its subject is [Site name] Please moderate: "Post title".

  • Always on: the plugin sends it for every held comment, whatever “A comment is held for moderation” says under Settings → Discussion → Email me whenever. This applies from the moment you activate the plugin, not only after the first save. There is no switch. To send it to nobody, save with the address box empty and Notify post author unticked. Deactivating the plugin hands the decision back to Settings → Discussion.
  • Who gets it: your saved list, plus the post author if Notify post author is ticked. Nobody is removed from this email for having written the comment.
  • Only Pending comments: comments marked as spam and trashed comments are never emailed. An approved comment that you later set back to Pending does not trigger it, because WordPress sends it only when a comment is first created.
  • What it contains: the post title and link, the commenter’s name, IP address, host name, email address and website, the comment text, an “In reply to” link when the comment is a reply, links to approve, trash (or delete) or spam it, and the number of comments waiting.

Those personal details go to every address on your list. Only add people who are entitled to see a commenter’s email address and IP address.

Approved comments and replies: the “New comment” email

With Approved comments unticked, the plugin does not touch this email. WordPress sends it to the post author only, and only if “Anyone posts a comment” is ticked under Settings → Discussion. Once you tick Approved comments, the plugin takes it over:

  • When it is sent: when a comment is published straight away and when a held comment is approved later, for example with the Approve link in the “Please moderate” email or the Approve action on the Comments screen, and when an approved comment is restored from Trash or Spam. It is sent whatever “Anyone posts a comment” says. Changing the status inside the Edit Comment screen does not trigger it in WordPress 7.1.
  • Who gets it: your saved list, plus the post author if Notify post author is ticked. Replies are treated like any other approved comment.
  • Who is left out: the person who wrote the comment and the person who approved it. The plugin removes the email address entered on the comment, the address of the registered user who wrote it, and the address of the logged-in user who clicked Approve, ignoring upper and lower case. Everyone else on the list is still emailed.
  • What it contains: the post title, the commenter’s details, the comment text, a link to the comments on the post and a permalink to the comment. The Trash it and Spam it links appear only when the post author is allowed to edit the comment. The Reply-To header is the commenter’s address when the comment has one. For pingbacks and trackbacks the subject says “Pingback:” or “Trackback:” instead of “Comment:”.

One trap here: your list replaces WordPress’s default recipient, which was the post author. If the author’s address is not in your list and Notify post author is unticked, the author stops receiving “New comment” emails after you tick Approved comments. WordPress also drops the post author’s address when the author wrote the comment, when the author is the person moderating it on their own post, and when the author can no longer read the post.

How the recipient list is built

  1. It starts with your saved addresses.
  2. If Notify post author is ticked, it adds the email address of the user who authored the post. This is skipped when the post has no author account or the account has no email address.
  3. It trims each address, drops anything invalid and removes duplicates, ignoring upper and lower case.
  4. For the “New comment” email only, it removes the commenter and the approver.
  5. It passes the result through the wp_comment_notification_recipients filter and drops anything invalid again.
  6. WordPress sends one separate email to each address, so recipients do not see each other.

Before the first save, and the address check

Until you click Save Changes for the first time, the “Please moderate” email goes to the site admin email address and every user with the Administrator role. The first save turns whatever is in the box into a fixed list: administrators you add later are not added automatically, and saving an empty box keeps it empty.

On save, the plugin splits the box at commas, semicolons, spaces and line breaks, and checks each entry. Invalid entries are skipped, the rest is saved, and a warning reads “Settings saved, but these addresses are not valid and were skipped:” followed by the entries. Enter plain addresses only. A display name such as Jane Doe <jane@example.com> is split at the space, so “Jane” and “Doe” are reported as skipped. If the box is empty and Notify post author is unticked, a yellow warning at the top says nobody is emailed about comments held for moderation.

Good to know and troubleshooting

  • No comment emails arrive: check that your address is in the box and that you clicked Save Changes, then look in your spam folder. If your site sends no email at all, set up an SMTP plugin.
  • Emails go to people you never added: you have not saved yet, so the default list is in use. Review the box and save. Otherwise another plugin or your own code is adding addresses through the filter.
  • “Please moderate” arrives but “New comment” does not: Approved comments is off by default. Also remember that you are not emailed about a comment you wrote or approved.
  • A comment was approved and no “New comment” email followed: check that Approved comments is ticked, and that the status was not changed inside the Edit Comment screen.
  • Comments created through the REST API send no “Please moderate” email: WordPress sends it only for comments made through its normal comment process, and the plugin cannot change that.
  • Block editor notes (WordPress 6.9 and later) do not reach your list: by design. Notes keep WordPress’s own notifications.
  • Addresses added by another plugin disappeared: the plugin runs at priority 999 on comment_moderation_recipients and comment_notification_recipients (the second only when Approved comments is ticked) and replaces the whole list. Add those addresses to this list, use the plugin’s filter, or run your code at a priority above 999.
  • WooCommerce product reviews: they are comments too. WooCommerce cuts the moderation list for product comments down to the site admin address, and the plugin then replaces that with your list. The plugin has no WooCommerce code of its own.
  • Multisite: every site has its own screen and list, and there is no network-wide screen.
  • Deactivating and deleting: deactivating keeps your settings and returns WordPress to its default recipients. Deleting removes the settings.

Routing by post with the recipients filter

The filter wp_comment_notification_recipients receives the addresses, the comment ID and the context, which is moderation or approved. This example adds one address for comments on a post type called product:

add_filter( 'wp_comment_notification_recipients', function ( $emails, $comment_id, $context ) {
    $comment = get_comment( $comment_id );
    if ( $comment && 'product' === get_post_type( $comment->comment_post_ID ) && ! in_array( 'shop@example.com', $emails, true ) ) {
        $emails[] = 'shop@example.com';
    }
    return $emails;
}, 10, 3 );

The plugin removes duplicates before the filter runs, not after, so check with in_array() before adding an address. If your callback returns anything other than an array, nobody is emailed.

The full documentation covers privacy, the hooks the plugin uses and the changelog.

Links

Plugin page: WP Comment Notification. Settings reference: WP Comment Notification documentation. More tools: Browse all plugins.

WP Comment NotificationChoose who receives WordPress comment notification emails
View plugin →
More tutorialsKeep reading.
How to Send WordPress Email Through SMTP and Keep an Email Log → How to Create Product Collections in WooCommerce → How to Schedule WordPress Backups to Google Drive or Dropbox →
WPExpertsHub

WordPress and WooCommerce plugins, custom development and technical support.

support@wpexpertshub.com

Products

  • All plugins
  • WooCommerce plugins
  • WordPress plugins
  • Free plugins

Services

  • WordPress development
  • WooCommerce development
  • Maintenance & optimization
  • Migration & security
  • API & integrations

Resources

  • My downloads
  • Documentation
  • Blog
  • Plugin support
  • Refund policy

Company

  • Services
  • Contact
  • My account
© 2026 WpExperts Hub. All rights reserved.
  • Privacy Policy
  • Terms of Service
  • Refund Policy