{"id":5692,"date":"2010-09-13T18:54:11","date_gmt":"2010-09-13T18:54:11","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/never-moderate-registered-users\/"},"modified":"2025-04-15T00:42:35","modified_gmt":"2025-04-15T00:42:35","slug":"never-moderate-registered-users","status":"publish","type":"plugin","link":"https:\/\/pap-aw.wordpress.org\/plugins\/never-moderate-registered-users\/","author":3606,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.3.6","stable_tag":"2.3.6","tested":"6.8.5","requires":"3.1","requires_php":"","requires_plugins":null,"header_name":"Never Moderate Registered Users","header_author":"Scott Reilly","header_description":"","assets_banners_color":"004865","last_updated":"2025-04-15 00:42:35","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.com\/cgi-bin\/webscr?cmd=_s-xclick&hosted_button_id=6ARCFJ9TX3522","header_plugin_uri":"https:\/\/coffee2code.com\/wp-plugins\/never-moderate-registered-users\/","header_author_uri":"https:\/\/coffee2code.com\/","rating":4.3,"author_block_rating":0,"active_installs":50,"downloads":9323,"num_ratings":3,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.0":{"tag":"2.0","author":"coffee2code","date":"2010-09-13 18:54:11"},"2.0.1":{"tag":"2.0.1","author":"coffee2code","date":"2011-02-17 18:33:36"},"2.0.2":{"tag":"2.0.2","author":"coffee2code","date":"2011-07-15 14:27:23"},"2.0.3":{"tag":"2.0.3","author":"coffee2code","date":"2011-12-10 16:49:06"},"2.0.4":{"tag":"2.0.4","author":"coffee2code","date":"2012-06-04 05:28:22"},"2.0.5":{"tag":"2.0.5","author":"coffee2code","date":"2012-12-09 08:44:36"},"2.1":{"tag":"2.1","author":"coffee2code","date":"2014-01-06 08:41:44"},"2.1.1":{"tag":"2.1.1","author":"coffee2code","date":"2014-08-31 06:44:41"},"2.1.2":{"tag":"2.1.2","author":"coffee2code","date":"2015-09-05 05:56:00"},"2.1.3":{"tag":"2.1.3","author":"coffee2code","date":"2016-04-14 07:19:23"},"2.1.4":{"tag":"2.1.4","author":"coffee2code","date":"2017-01-22 18:26:59"},"2.2":{"tag":"2.2","author":"coffee2code","date":"2018-05-31 16:09:30"},"2.2.2":{"tag":"2.2.2","author":"coffee2code","date":"2019-11-26 06:31:21"},"2.3":{"tag":"2.3","author":"coffee2code","date":"2020-05-11 06:46:53"},"2.3.1":{"tag":"2.3.1","author":"coffee2code","date":"2020-08-29 08:25:59"},"2.3.2":{"tag":"2.3.2","author":"coffee2code","date":"2021-04-10 07:11:05"},"2.3.3":{"tag":"2.3.3","author":"coffee2code","date":"2021-10-06 07:56:32"},"2.3.4":{"tag":"2.3.4","author":"coffee2code","date":"2023-08-15 23:02:00"},"2.3.5":{"tag":"2.3.5","author":"coffee2code","date":"2024-08-22 19:43:42"},"2.3.6":{"tag":"2.3.6","author":"coffee2code","date":"2025-04-15 00:42:35"}},"upgrade_notice":{"2.3.6":"<p>Trivial update: noted compatibility through WP 6.8+ and PHP 8.3+, improved unit testing while also removing unit tests from release packaging, and updated copyright date (2025)<\/p>","2.3.5":"<p>Trivial update: noted compatibility through WP 6.6+, removed unit tests from release packaging, and updated copyright date (2024)<\/p>","2.3.4":"<p>Trivial update: noted compatibility through WP 6.3+, updated unit tests to run against latest WordPress, and updated copyright date (2023)<\/p>","2.3.3":"<p>Trivial update: added DEVELOPER-DOCS.md, noted compatibility through WP 5.8+, and minor reorganization and tweaks to unit tests<\/p>","2.3.2":"<p>Trivial update: noted compatibility through WP 5.7+ and updated copyright date (2021)<\/p>","2.3.1":"<p>Trivial update: Restructured unit test file structure and noted compatibility through WP 5.5+.<\/p>","2.3":"<p>Minor update: Skipped handling of comments flagged as being an error, updated a few URLs to be HTTPS, updated some inline docs, and noted compatibility through WP 5.4+.<\/p>","2.2.2":"<p>Trivial update: modernized unit tests, created CHANGELOG.md to store historical changelog outside of readme.txt, noted compatibility through WP 5.3+, and updated copyright date (2020)<\/p>","2.2.1":"<p>Trivial update: noted compatibility through WP 5.1+ and updated copyright date (2019)<\/p>","2.2":"<p>Minor feature update: added &#039;c2c_never_moderate_registered_users_approved&#039; filter, added README.md, noted compatibility through WP 4.9+, and updated copyright date (2018)<\/p>","2.1.4":"<p>Trivial update: updated unit test bootstrap file, noted compatibility through WP 4.7+, and updated copyright date (2017)<\/p>","2.1.3":"<p>Trivial update: minor unit test tweaks; verified compatibility through WP 4.4+; and updated copyright date (2016)<\/p>","2.1.2":"<p>Trivial update: noted compatibility through WP 4.1+ and updated copyright date (2015)<\/p>","2.1.1":"<p>Trivial update: noted compatibility through WP 4.0+; added plugin icon.<\/p>","2.1":"<p>Recommended update: bug fixes; minor code tweaks; added unit tests; noted compatibility through WP 3.8+; dropped compatibility with versions of WP older than 3.1<\/p>","2.0.5":"<p>Trivial update: noted compatibility through WP 3.5+<\/p>","2.0.4":"<p>Trivial update: noted compatibility through WP 3.4+; explicitly stated license<\/p>","2.0.3":"<p>Trivial update: noted compatibility through WP 3.3+<\/p>","2.0.2":"<p>Trivial update: noted compatibility through WP 3.2+ and minor code formatting changes (spacing)<\/p>","2.0.1":"<p>Trivial update: noted compatibility with WP 3.1+ and updated copyright date.<\/p>","2.0":"<p>Recommended major update! Highlights: removed user_level permission support but added filter for capabilities\/roles permission; verified WP 3.0 compatibility.<\/p>"},"ratings":{"1":0,"2":0,"3":1,"4":0,"5":2},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":976002,"resolution":"128x128","location":"assets","locale":""}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":833712,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.0","2.0.1","2.0.2","2.0.3","2.0.4","2.0.5","2.1","2.1.1","2.1.2","2.1.3","2.1.4","2.2","2.2.2","2.3","2.3.1","2.3.2","2.3.3","2.3.4","2.3.5","2.3.6"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[131,1756,599,1016,1917],"plugin_category":[41,44,54],"plugin_contributors":[78189],"plugin_business_model":[],"class_list":["post-5692","plugin","type-plugin","status-publish","hentry","plugin_tags-comment","plugin_tags-moderation","plugin_tags-spam","plugin_tags-subscribers","plugin_tags-users","plugin_category-communication","plugin_category-discussion-and-community","plugin_category-security-and-spam-protection","plugin_contributors-coffee2code","plugin_committers-coffee2code"],"banners":{"banner":"https:\/\/ps.w.org\/never-moderate-registered-users\/assets\/banner-772x250.png?rev=833712","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/never-moderate-registered-users\/assets\/icon-128x128.png?rev=976002","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>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.<\/p>\n\n<p>To be recognized as a registered user, the user must be logged into your site at the time they post their comment.<\/p>\n\n<p>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 -&gt; General).<\/p>\n\n<p>You can still allow open registration, whereby these \"subscribers\" are moderated as usual, while other more privileged users do not get moderated. The plugin provides a filter, 'c2c_never_moderate_registered_users_caps', which allows you to specify the roles and capabilities that can bypass moderation. See the FAQ for an example.<\/p>\n\n<p>This plugin is a partial successor to my now-defunct Never Moderate Admins or Post Author plugin. In addition to preventing admins and the post's author from being moderated, that plugin also allowed you to prevent registered users from being moderated. WordPress has long since integrated that functionality, so the main thrust of that plugin became moot. However, the ability to never moderate registered users is still a valid need that requires this plugin.<\/p>\n\n<p>Links: <a href=\"https:\/\/coffee2code.com\/wp-plugins\/never-moderate-registered-users\/\">Plugin Homepage<\/a> | <a href=\"https:\/\/wordpress.org\/plugins\/never-moderate-registered-users\/\">Plugin Directory Page<\/a> | <a href=\"https:\/\/github.com\/coffee2code\/never-moderate-registered-users\/\">GitHub<\/a> | <a href=\"https:\/\/coffee2code.com\">Author Homepage<\/a><\/p>\n\n<h3>Developer Documentation<\/h3>\n\n<p>Developer documentation can be found in <a href=\"https:\/\/github.com\/coffee2code\/never-moderate-registered-users\/blob\/master\/DEVELOPER-DOCS.md\">DEVELOPER-DOCS.md<\/a>. That documentation covers the numerous hooks provided by the plugin. Those hooks are listed below to provide an overview of what's available.<\/p>\n\n<ul>\n<li><code>c2c_never_moderate_registered_users_caps<\/code>     : Customize the capabilities that are automatically trusted, any one of which a user must have in order to never get moderated.<\/li>\n<li><code>c2c_never_moderate_registered_users_approved<\/code> : Customize granular control for whether a comment by a registered user that would otherwise be moderated or marked as spam should automatically be approved.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install via the built-in WordPress plugin installer. Or install the plugin code inside the plugins directory for your site (typically <code>\/wp-content\/plugins\/<\/code>).<\/li>\n<li>Activate the plugin through the 'Plugins' admin menu in WordPress<\/li>\n<li>Optional: Use one or more of the provided hooks in custom code to control specific capabilities that should be exempted from moderation and spam or to control the feature on a comment-by-comment basis.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='hey%2C%20why%20did%20i%20get%20some%20obvious%20spam%20from%20a%20registered%20user%3F'><h3>Hey, why did I get some obvious spam from a registered user?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id='i%20don%27t%20trust%20registered%20users%20who%20are%20just%20%22subscribers%22%2C%20but%20i%20trust%20%22contributors%22%3B%20can%20this%20plugin%20moderate%20accordingly%3F'><h3>I don't trust registered users who are just \"subscribers\", but I trust \"contributors\"; can this plugin moderate accordingly?<\/h3><\/dt>\n<dd><p>Yes. You can specify the capabilities and roles that can bypass moderation. See the example provided for the 'c2c_never_moderate_registered_users_caps' filter.<\/p><\/dd>\n<dt id='does%20this%20plugin%20have%20unit%20tests%3F'><h3>Does this plugin have unit tests?<\/h3><\/dt>\n<dd><p>Yes. The tests are not packaged in the release .zip file or included in plugins.svn.wordpress.org, but can be found in the <a href=\"https:\/\/github.com\/coffee2code\/never-moderate-registered-users\/\">plugin's GitHub repository<\/a>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.3.6 (2025-04-14)<\/h4>\n\n<ul>\n<li>Change: Note compatibility through WP 6.8+<\/li>\n<li>Change: Note compatibility through PHP 8.3+<\/li>\n<li>Change: Update copyright date (2025)<\/li>\n<li>Unit tests:\n\n<ul>\n<li>Change: Explicitly define return type for overridden methods<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>2.3.5 (2024-08-21)<\/h4>\n\n<ul>\n<li>Change: Shorten plugin description<\/li>\n<li>Change: Note compatibility through WP 6.6+<\/li>\n<li>Change: Update copyright date (2024)<\/li>\n<li>Change: Reduce number of 'Tags' from <code>readme.txt<\/code><\/li>\n<li>Change: Remove development and testing-related files from release packaging<\/li>\n<li>Unit tests:\n\n<ul>\n<li>Hardening: Prevent direct web access to <code>bootstrap.php<\/code><\/li>\n<li>Change: In bootstrap, store path to plugin directory in a constant<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>2.3.4 (2023-06-06)<\/h4>\n\n<ul>\n<li>Change: Note compatibility through WP 6.3+<\/li>\n<li>Change: Update copyright date (2023)<\/li>\n<li>New: Add <code>.gitignore<\/code> file<\/li>\n<li>Unit tests:\n\n<ul>\n<li>Fix: Allow tests to run against current versions of WordPress<\/li>\n<li>New: Add <code>composer.json<\/code> for PHPUnit Polyfill dependency<\/li>\n<li>Change: Prevent PHP warnings due to missing core-related generated files<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>2.3.3 (2021-10-05)<\/h4>\n\n<ul>\n<li>New: Add DEVELOPER-DOCS.md and move hooks documentation into it<\/li>\n<li>Change: Note compatibility through WP 5.8+<\/li>\n<li>Change: Tweak installation instruction<\/li>\n<li>Unit tests:\n\n<ul>\n<li>Change: Restructure unit test directories\n\n<ul>\n<li>Change: Move <code>phpunit\/<\/code> into <code>tests\/<\/code><\/li>\n<li>Change: Move <code>phpunit\/bin<\/code> into <code>tests\/<\/code><\/li>\n<\/ul><\/li>\n<li>Change: Remove 'test-' prefix from unit test file<\/li>\n<li>Change: In bootstrap, store path to plugin file constant<\/li>\n<li>Change: In bootstrap, add backcompat for PHPUnit pre-v6.0<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<p><em>Full changelog is available in <a href=\"https:\/\/github.com\/coffee2code\/never-moderate-registered-users\/blob\/master\/CHANGELOG.md\">CHANGELOG.md<\/a>.<\/em><\/p>","raw_excerpt":"Never moderate or mark as spam comments made by registered users, regardless of the apparent spamminess of the comment.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/5692","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"author":[{"embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/users\/3606"}],"replies":[{"embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=5692"}],"wp:attachment":[{"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=5692"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=5692"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=5692"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=5692"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=5692"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=5692"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}