30+
June 29, 2026
September 13, 2010
This plugin prevents comments from registered users (or, alternatively, those with specified capabilities) from ever going into the moderation queue or getting automatically marked as spam, regardless of the apparent spamminess of the comment.
To be recognized as a registered user, the user must be logged into your site at the time they post their comment. The plugin applies to front-end submissions and authenticated REST API requests only; it does not affect comment imports, CLI tools, cron jobs, or other programmatic creation without a logged-in user.
This plugin assumes that you trust your registered users. It will automatically approve any comment made by registered users, even if the comment stinks of spam. Therefore, it is recommended that you do not allow users to register themselves (uncheck the setting “Anyone can register” in the WordPress admin under Settings -> General).
However, when open registration is enabled, the plugin automatically requires users to have a capability above the site’s default role before their comments bypass moderation or spam checks. For example, when the default role is subscriber, users must have at least the contributor role (which has the edit_posts capability). You can customize this behavior using the ‘c2c_never_moderate_registered_users_open_registration_caps’ filter. See the developer documentation for details.
You can further restrict which users bypass moderation by enabling “Trust only privileged users to bypass comment moderation and spam checks” on the Settings -> Discussion admin page. That setting requires users to be able to publish posts or moderate comments before their comments bypass moderation or spam checks. You can also use the ‘c2c_never_moderate_registered_users_caps’ filter to specify trusted roles and capabilities in custom code. See the FAQ for an example.
This plugin is a partial successor to my now-defunct Never Moderate Admins or Post Author plugin. The primary purpose of that plugin was to prevent admins and the post’s author from being moderated. WordPress eventually integrated that functionality. However, that plugin also allowed you to prevent registered users from being moderated, which is still a valid need not directly facilitated by WordPress, thus this plugin was spun out.
Links: Plugin Homepage | Plugin Directory Page | GitHub | Author Homepage
Developer documentation can be found in DEVELOPER-DOCS.md. That documentation covers the numerous hooks provided by the plugin. Those hooks are listed below to provide an overview of what’s available.
c2c_never_moderate_registered_users_open_registration_caps : Customize the capabilities required to bypass moderation when open registration is enabled.c2c_never_moderate_registered_users_privileged_caps : Customize the capabilities that identify privileged users when the Discussion setting is enabled.c2c_never_moderate_registered_users_caps : Customize the capabilities that are automatically trusted, any one of which a user must have in order to never get moderated.c2c_never_moderate_registered_users_approved : Customize granular control for whether a comment by a registered user that would otherwise be moderated or marked as spam should automatically be approved.c2c_never_moderate_registered_users_auto_approved : Fires when the plugin auto-approves a comment that would otherwise have been moderated or marked as spam./wp-content/plugins/).This plugin assumes that any comment made by a registered user (or a user with a specified capabilities) is not spam, regardless of the spamminess of their comment. If you don’t trust your registered users you probably shouldn’t have this plugin activated. Or at least follow the directions above to increase the minimum threshold for trusted users.
Yes. The plugin itself adjusts the minimum trust level if open registration is enabled. And regardless of that, there is an admin setting to easily facilitate stricter trust, and an offered filter for more programmatic customization.
Yes. The tests are not packaged in the release .zip file or included in plugins.svn.wordpress.org, but can be found in the plugin’s GitHub repository.
Highlights:
This recommended major release adds a setting to enable only trusting privileged users, requires stricter trust for open registration sites, adds an action that fires when the plugin overrides comment approval, disables handling of programmaticly created comments (CLI, import, etc), namespaces and restructures the plugin code, notes compatibility through WP 7.0+, drops compatibility with versions of WP older than 6.0, bumps minimum PHP support to 8.0, and more.
Details:
c2c_never_moderate_registered_users_open_registration_caps filter to customize open registration trust requirementspublish_posts or moderate_comments capability before bypassing moderation or spam checksc2c_never_moderate_registered_users_privileged_caps filter to customize privileged user capabilitiesc2c_never_moderate_registered_users_auto_approved action that fires when a comment is auto-approved by the pluginuser_id matches the logged-in userincludes/
Trust_Policy for capability and trust logicComment_Moderator for the pre_comment_approved filterAdmin_Settings for the Discussion settings UIHooks and Options for hook and option name constantsfunction_exists() guardsexit instead of die() when bailing on direct file invocationreadme.txtc2c_never_moderate_registered_users_approved may run twice per front-end submission since WP 6.7readme.txtFull changelog is available in CHANGELOG.md.
| Version | Download | Type |
|---|---|---|
| 3.0 | Download | Stable |
| 2.3.6 | Download | Stable |
| 2.3.5 | Download | Stable |
| 2.3.4 | Download | Stable |
| 2.3.3 | Download | Stable |
| 2.3.2 | Download | Stable |
| 2.3.1 | Download | Stable |
| 2.3 | Download | Stable |
| 2.2.2 | Download | Stable |
| 2.2 | Download | Stable |
| 2.1.4 | Download | Stable |
| 2.1.3 | Download | Stable |
| 2.1.2 | Download | Stable |
| 2.1.1 | Download | Stable |
| 2.1 | Download | Stable |
| 2.0.5 | Download | Stable |
| 2.0.4 | Download | Stable |
| 2.0.3 | Download | Stable |
| 2.0.2 | Download | Stable |
| 2.0.1 | Download | Stable |
| 2.0 | Download | Stable |
| Development | Download | Trunk |