{"id":36006,"date":"2015-06-16T08:53:47","date_gmt":"2015-06-16T08:53:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/yoast-comment-hacks\/"},"modified":"2025-11-10T05:51:52","modified_gmt":"2025-11-10T05:51:52","slug":"yoast-comment-hacks","status":"publish","type":"plugin","link":"https:\/\/cor.wordpress.org\/plugins\/yoast-comment-hacks\/","author":23221011,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.1.6","stable_tag":"2.1.6","tested":"6.8.5","requires":"6.6","requires_php":"7.4","requires_plugins":null,"header_name":"Comment Experience","header_author":"Team Progress Planner","header_description":"","assets_banners_color":"05809e","last_updated":"2025-11-10 05:51:52","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/progressplanner.com\/plugins\/comment-experience\/","header_author_uri":"https:\/\/progressplanner.com","rating":3.5,"author_block_rating":0,"active_installs":500,"downloads":70337,"num_ratings":13,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.2":{"tag":"1.2","author":"joostdevalk","date":"2017-02-22 10:36:53"},"1.3":{"tag":"1.3","author":"joostdevalk","date":"2017-07-09 12:23:50"},"1.4":{"tag":"1.4","author":"joostdevalk","date":"2017-09-11 14:31:35"},"1.5":{"tag":"1.5","author":"ireneyoast","date":"2019-10-29 10:33:25"},"1.6":{"tag":"1.6","author":"Yoast","date":"2021-03-10 08:47:50"},"1.7":{"tag":"1.7","author":"Yoast","date":"2022-10-26 10:02:56"},"1.8":{"tag":"1.8","author":"joostdevalk","date":"2022-12-08 19:15:22"},"1.8.1":{"tag":"1.8.1","author":"joostdevalk","date":"2022-12-08 21:24:42"},"1.9":{"tag":"1.9","author":"joostdevalk","date":"2022-12-09 10:45:42"},"1.9.2":{"tag":"1.9.2","author":"joostdevalk","date":"2023-12-08 19:59:05"},"1.9.3":{"tag":"1.9.3","author":"joostdevalk","date":"2024-01-01 20:43:27"},"1.9.4":{"tag":"1.9.4","author":"joostdevalk","date":"2024-01-03 13:09:44"},"1.9.4.1":{"tag":"1.9.4.1","author":"joostdevalk","date":"2024-01-03 13:10:28"},"2.1":{"tag":"2.1","author":"joostdevalk","date":"2025-01-07 18:49:59"},"2.1.1":{"tag":"2.1.1","author":"joostdevalk","date":"2025-01-17 10:44:38"},"2.1.2":{"tag":"2.1.2","author":"joostdevalk","date":"2025-04-01 10:45:08"},"2.1.3":{"tag":"2.1.3","author":"joostdevalk","date":"2025-04-08 11:24:09"},"2.1.4":{"tag":"2.1.4","author":"joostdevalk","date":"2025-05-09 07:32:27"},"2.1.5":{"tag":"2.1.5","author":"progressplanner","date":"2025-09-17 09:12:37"},"2.1.6":{"tag":"2.1.6","author":"progressplanner","date":"2025-11-10 05:51:52"},"2.1.7":{"tag":"2.1.7","author":"progressplanner","date":"2026-01-13 12:16:01"}},"upgrade_notice":[],"ratings":{"1":4,"2":1,"3":0,"4":1,"5":7},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3359924,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3359924,"resolution":"256x256","location":"assets","locale":""},"icon.svg":{"filename":"icon.svg","revision":3359924,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500-nl.png":{"filename":"banner-1544x500-nl.png","revision":3438581,"resolution":"1544x500","location":"assets","locale":"nl"},"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3438581,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250-nl.png":{"filename":"banner-772x250-nl.png","revision":3438581,"resolution":"772x250","location":"assets","locale":"nl"},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3438581,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3438581,"resolution":false,"location":"assets","locale":"","contents":"{\"landingPage\":\"wp-admin\\\/options-general.php?page=comment-experience\",\"features\":{\"networking\":true},\"plugins\":[\"yoast-comment-hacks\",\"progress-planner\"],\"steps\":[{\"step\":\"login\"},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"yoast-comment-hacks\"},\"options\":{\"activate\":true}}]}"}},"all_blocks":[],"tagged_versions":["1.2","1.3","1.4","1.5","1.6","1.7","1.8","1.8.1","1.9","1.9.2","1.9.3","1.9.4","1.9.4.1","2.1","2.1.1","2.1.2","2.1.3","2.1.4","2.1.5","2.1.6","2.1.7"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":2831081,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":2831081,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":2831081,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":2831081,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":2831081,"resolution":"5","location":"assets","locale":""}},"screenshots":{"1":"Screenshot of a clean comment notification email.","2":"The comment parent edit box.","3":"The plugins admin settings.","4":"The button on the frontend to email all the commenters on a post.","5":"The link in the backend to email an individual commenters on a post."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[107,2483,599],"plugin_category":[41,44,54],"plugin_contributors":[77595],"plugin_business_model":[],"class_list":["post-36006","plugin","type-plugin","status-publish","hentry","plugin_tags-comments","plugin_tags-emails","plugin_tags-spam","plugin_category-communication","plugin_category-discussion-and-community","plugin_category-security-and-spam-protection","plugin_contributors-joostdevalk","plugin_committers-aristath","plugin_committers-filipi","plugin_committers-joostdevalk","plugin_committers-progressplanner","plugin_committers-tacoverdo"],"banners":{"banner":"https:\/\/ps.w.org\/yoast-comment-hacks\/assets\/banner-772x250.png?rev=3438581","banner_2x":"https:\/\/ps.w.org\/yoast-comment-hacks\/assets\/banner-1544x500.png?rev=3438581","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/yoast-comment-hacks\/assets\/icon.svg?rev=3359924","icon":"https:\/\/ps.w.org\/yoast-comment-hacks\/assets\/icon.svg?rev=3359924","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/yoast-comment-hacks\/assets\/screenshot-1.png?rev=2831081","caption":"Screenshot of a clean comment notification email."},{"src":"https:\/\/ps.w.org\/yoast-comment-hacks\/assets\/screenshot-2.png?rev=2831081","caption":"The comment parent edit box."},{"src":"https:\/\/ps.w.org\/yoast-comment-hacks\/assets\/screenshot-3.png?rev=2831081","caption":"The plugins admin settings."},{"src":"https:\/\/ps.w.org\/yoast-comment-hacks\/assets\/screenshot-4.png?rev=2831081","caption":"The button on the frontend to email all the commenters on a post."},{"src":"https:\/\/ps.w.org\/yoast-comment-hacks\/assets\/screenshot-5.png?rev=2831081","caption":"The link in the backend to email an individual commenters on a post."}],"raw_content":"<!--section=description-->\n<p>Make comments management easier by applying the simple hacks Joost has gathered over the years.<\/p>\n\n<p>This plugin adds some small hacks around core WordPress comments to make them more bearable:<\/p>\n\n<ul>\n<li>Cleaner comment notification emails.<\/li>\n<li>The option to enforce a comment policy: just create a comment policy page, toggle the option on and select it, and\ncommenters will have to accept your comment policy before being able to comment.<\/li>\n<li>The option to forward comments to an email address (for instance for your support team) and then trash them.<\/li>\n<li>The option to disallow comments below and above a certain length.<\/li>\n<li>The option to redirect first time commenters to a \"thank you\" page.<\/li>\n<li>An input field on the comment edit screen to change the comment parent ID.<\/li>\n<li>Links in the admin comments section to email individual commenters.<\/li>\n<li>A button in the WP toolbar to email all the commenters on a post.<\/li>\n<li>Adds a comment routing option. This adds a dropdown in a post's discussion settings, allowing the routing of comment emails to another user.<\/li>\n<\/ul>\n\n<p>See the screenshots to get an even better idea of the plugins' functionality.<\/p>\n\n<h3>Have you found an issue?<\/h3>\n\n<p>If you have bugs to report, please go to <a href=\"https:\/\/github.com\/emilia-capital\/comment-hacks\">the plugin's GitHub repository<\/a>. For security issues, please use our <a href=\"https:\/\/patchstack.com\/database\/vdp\/comment-hacks\">vulnerability disclosure program<\/a>, which is managed by PatchStack. They will assist you with verification, CVE assignment, and, of course, notify us.<\/p>\n\n<!--section=installation-->\n<p><strong>Install through your backend<\/strong><\/p>\n\n<ol>\n<li>Search for \"comment hacks\", click install.<\/li>\n<li>You're done.<\/li>\n<\/ol>\n\n<p><strong>Install manually<\/strong><\/p>\n\n<ol>\n<li>Download and unzip the plugin.<\/li>\n<li>Upload the <code>comment-hacks<\/code> directory to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Configure your settings on the Settings &rarr; Comment Experience screen.<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>2.1.6<\/h4>\n\n<ul>\n<li>Compatibility with Progress Planner v1.9<\/li>\n<\/ul>\n\n<h4>2.1.5<\/h4>\n\n<ul>\n<li>Compatibility with Progress Planner v1.8<\/li>\n<\/ul>\n\n<h4>2.1.4<\/h4>\n\n<ul>\n<li>Add compatibility with WordPress 6.8.<\/li>\n<li>Save proper values for Redirect page settings when no selection is made.<\/li>\n<li>Run upgrade routine only when plugin version is increased<\/li>\n<li>Migrate PHPUnit XML schema<\/li>\n<li>Compatibility with Progress Planner v1.4<\/li>\n<\/ul>\n\n<h4>2.1.3<\/h4>\n\n<ul>\n<li>Add necessary compatibility to Progress Planner integration for the upcoming WordPress 6.8.<\/li>\n<\/ul>\n\n<h4>2.1.2<\/h4>\n\n<ul>\n<li>Rename the plugin from \"Comment Hacks\" to \"Comment Experience\".<\/li>\n<li>Bring up to date with changes in Progress Planner<\/li>\n<\/ul>\n\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>Don't enqueue the remove URL script on the frontend for logged out users or users without the <code>edit_posts<\/code> capability.<\/li>\n<\/ul>\n\n<h4>2.1<\/h4>\n\n<ul>\n<li>Added a link to remove the author's URL from the comment from the frontend.<\/li>\n<li>Fix comment policy function for admins and editors.<\/li>\n<\/ul>\n\n<h4>1.9.4<\/h4>\n\n<ul>\n<li>Fix fatal due to wrong class import, props <a href=\"https:\/\/profiles.wordpress.org\/andizer\/\">@andizer<\/a>.<\/li>\n<\/ul>\n\n<h4>1.9.3<\/h4>\n\n<ul>\n<li>Fix bug where comment reroute recipient would not save.<\/li>\n<li>Added an option to disable the \"Email all commenters\" admin bar button.<\/li>\n<\/ul>\n\n<h4>1.9.2<\/h4>\n\n<ul>\n<li>Fix missing autoloader.<\/li>\n<\/ul>\n\n<h4>1.9<\/h4>\n\n<ul>\n<li>Introduces a new option to the plugin: adding a comment policy was never easier than this: just create a comment\npolicy page, toggle the option on and select it, and commenters will have to accept your comment policy before being\nable to comment.<\/li>\n<li>Fixes a bug where editing a comment on the quick edit screen would cause that comment to lose its parent.<\/li>\n<li>Enhances performance by preventing too frequent option updates.<\/li>\n<li>Remove all direct DB queries in favor of using WordPress core functions.<\/li>\n<\/ul>\n\n<h4>1.8.1<\/h4>\n\n<ul>\n<li>Fixed a couple of PHP 7.4 related issues.<\/li>\n<\/ul>\n\n<h4>1.8<\/h4>\n\n<ul>\n<li>Changed namespace to <code>JoostBlog<\/code>.<\/li>\n<li>Removed Yoast branding.<\/li>\n<li>Updated plugin to require PHP 7.4.<\/li>\n<\/ul>\n\n<h4>1.7<\/h4>\n\n<ul>\n<li>Bugfixes:\n\n<ul>\n<li>Fixed: the \"Email commenters\" link would not be displayed in the WordPress admin bar and in the Comments list.<\/li>\n<li>Fixed: the \"Email commenters\" link in the front end admin bar wouldn't work when jQuery wasn't enqueued.<\/li>\n<li>Fixed: the notification emails for new comments would have incorrect content for the Author line and the text displayed before the comment.<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>1.6<\/h4>\n\n<ul>\n<li>Fix language packs.<\/li>\n<\/ul>\n\n<h4>1.5<\/h4>\n\n<ul>\n<li>Bugfixes:\n\n<ul>\n<li>Fixed: comment recipient dropdown would reset on reload of the page.<\/li>\n<li>Fixed: admin bar CSS showing when no admin bar is showing.<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>1.4<\/h4>\n\n<ul>\n<li>Enhancements:\n\n<ul>\n<li>Limit the roles shown in the comment notifications dropdown to roles that normally exist and can write. Introduces a new filter to allow expanding them.<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>Enhancements:\n\n<ul>\n<li>Add option to restrict comments that are too long, next to too small.<\/li>\n<li>Add <code>reply-to<\/code> header to comment notification and moderation emails, pointing to the post author.<\/li>\n<li>Preserve the active tab when saving settings.<\/li>\n<li>Remove <code>[...]<\/code> from pingback \/ trackback excerpt in cleaned emails as that's already included by core.<\/li>\n<li>Replace link to ARIN with link to <a href=\"http:\/\/ip-lookup.net\">ip-lookup.net<\/a> for details about the IP.<\/li>\n<li>Refactored code for readability and code quality.<\/li>\n<li>Refactor upgrade routine to do less DB queries.<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<p>Fixes several issues:<\/p>\n\n<ul>\n<li>Differentiate between AJAX request and normal POST for nonce checking, fixes #7.<\/li>\n<li>Make sure comment type isn't empty in cleaned email, fixes #8.<\/li>\n<li>Allow setting the comment parent to 0, fixes #10.<\/li>\n<li>Prevents defaults from being reinstated, fixes #14.<\/li>\n<\/ul>\n\n<p>Also:<\/p>\n\n<ul>\n<li>Adds translator comments to all strings with <code>sprintf<\/code> \/ <code>printf<\/code>.<\/li>\n<li>Updates to new version of Yoast i18n, in the process switching from <code>translate.yoast.com<\/code> to <code>translate.wordpress.org<\/code> and removing packaged translations.<\/li>\n<li>Added <code>yarn.lock<\/code> and removed no longer needed i18n grunt tasks.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Add text domain so the plugin can be translated.<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>Add comment routing option, adds a dropdown in a post's discussion settings, allowing the routing of comment emails to another user.<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial version.<\/li>\n<\/ul>","raw_excerpt":"Make comments management easier by applying the simple hacks Joost has gathered over the years.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cor.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/36006","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cor.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/cor.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/cor.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=36006"}],"author":[{"embeddable":true,"href":"https:\/\/cor.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/progressplanner"}],"wp:attachment":[{"href":"https:\/\/cor.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=36006"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/cor.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=36006"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/cor.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=36006"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/cor.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=36006"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/cor.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=36006"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/cor.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=36006"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}