Allows users to opt into receiving a notification email whenever a comment is made to the site.
Screenshots
A screenshot of the checkbox added to user profiles.
FAQ
Who can sign up to receive notifications about comments to the site?
Any user account on the site can sign up for comment notifications. Comments that go into moderation will only trigger notifications to users who can moderate comments. Visitors who do not have an account on the site cannot make use of the plugin to subscribe to comments.
How do I sign up to receive notifications?
On your profile page, there is a checkbox next to “New Comment Emails” that is labeled “Email me whenever a comment is submitted to the site.”. Check the checkbox and click the button to update your profile. If you wish to discontinue receiving such notifications, simply uncheck the checkbox and save the change.
Does this plugin include unit tests?
Yes.
How can I restrict the plugin to only offer the ability to subscribe to all comments to administrators and editors?
Use the ‘c2c_optin_comment_notifications_has_cap’ filter to customize the capability as needed. The following code can be used or adapted for that purpose. Such code should ideally be put into a mu-plugin or site-specific plugin (which is beyond the scope of this readme to explain).
/**
* Only permits administrators and editors to subscribe to comment notifications.
*
* @param bool $default The default. Default true.
* @param array $caps Array of user capabilities.
* @return string
*/
function restrict_optin_comment_notifications( $default, $caps ) {
// Only administrators and editors can subscribe to all comments.
return !! array_intersect(
wp_get_current_user()->roles, // Get current user's roles.
array( 'administrator', 'editor' ) // Roles to allow to subscribe to all comments.
);
}
add_filter( 'c2c_optin_comment_notifications_has_cap', 'restrict_optin_comment_notifications', 10, 2 );
Can an administrator configure the setting for another user?
Yes. Users with the ‘edit_users’ capability (administrators, basically) and can edit the profile of another user can configure this plugin for that user. The checkbox is labeled “Email this user whenever a comment is submitted to the site.”.
ChangeLog
1.4 (2019-03-26)
- New: Add CHANGELOG.md file and move all but most recent changelog entries into it
- Change: Initialize plugin on ‘plugins_loaded’ action instead of on load
- Change: Merge
do_init()
into init()
- Change: Note compatibility through WP 5.1+
- Change: Update copyright date (2019)
- Change: Update License URI to be HTTPS
- Change: Split paragraph in README.md’s “Support” section into two
1.3 (2018-05-07)
- Bugfix: Ensure comment notifications are sent even if core’s ‘comments_notify’ or ‘notify_moderator’ settings is false
- Change: Don’t notify users of spam comments
- New: Add README.md
- New: Add GitHub link to readme
- Unit tests:
- Change: Test notifications by invoking
wp_new_comment_notify_postauthor()
rather than plugin class method
- Change: Add and improve tests relating to ‘notify_moderator’
- Change: Remove unnecessary mocking of posts
- Change: Minor whitespace tweaks to bootstrap
- Change: Use correct header @package name in bootstrap
- Change: Note compatibility through WP 4.9+
- Change: Update copyright date (2018)
1.2 (2017-01-04)
- New: Permit admins (or more specifically, those who can ‘edit_users’) to control the setting for other users.
- Add new capability ‘c2c_subscribe_to_all_comments_edit_others’
- Add ‘c2c_optin_comment_notifications_has_cap_edit_others’ filter to allow customizing capability for editing setting for other users
- Show checkbox via ‘personal_options’ action instead of ‘profile_personal_options’
- Hook ‘edit_user_profile_update’ to potentially save the setting when another user is being edited
- Change: Enable more error output for unit tests.
- Change: Default
WP_TESTS_DIR
to /tmp/wordpress-tests-lib
rather than erroring out if not defined via environment variable.
- Change: Minor tweaks to code documentation.
- Change: Note compatibility through WP 4.7+.
- Change: Remove support for WordPress older than 4.6 (should still work for earlier versions)
- Change: Update copyright date (2017).
- Change: Update installation instruction to prefer built-in installer over .zip file
Full changelog is available in CHANGELOG.md.