=== Disable Comments - Remove Comments & Stop Spam [Multi-Site Support] ===
Contributors: Asif2BD, priyomukul, wpdevteam, re_enter_rupok, alimuzzamanalim, solarissmoke, garrett-eclipse
Donate link: https://wpdeveloper.com/
Tags: Disable Comments, Stop Spam, Delete Comments, Remove Comments, Spam Protection
Requires at least: 5.0
Tested up to: 6.9
Requires PHP: 7.0
Stable tag: 2.7.0
License: GPL-3.0-or-later
License URI: https://www.gnu.org/licenses/gpl-3.0.html

Allows administrators to globally disable comments on their site. Comments can be disabled according to post type. Multisite friendly.

== Description ==

= Disable Comments - Remove Comments & Stop Spam [Multi-Site Support] =

Enable/Disable comments on any WordPress content (Pages, Posts, or Media) to stop spammers. WP-CLI, XML-RPC & REST-API support to stop spam comments.

[More About Plugin](https://wpdeveloper.com/plugins/disable-comments/) ◼️ [Documentation](https://wpdeveloper.com/docs-category/disable-comments/) ◼️ [Support Forum](https://wordpress.org/support/plugin/disable-comments/)

https://www.youtube.com/watch?v=EpuYs9Nf_nY

## Take Global Control Over Your WordPress Site
Override all comments-related settings throughout your website & manage your comments just the way you want.

## Disable Comments On Posts, Pages & Media
Choose which posts, pages or media should allow comments from site visitors & configure Disable Comments accordingly

## Disallow Comments On Multi-Site Network
Have multiple websites? Get rid of irrelevant comments on the entire network using Disable Comments Plugin

https://www.youtube.com/watch?v=J9AteKzQpPs

## KEY FEATURES OF DISABLE COMMENTS

* All “Comments” links are hidden from the Admin Menu and Admin Bar.
* All comment-related sections (“Recent Comments”, “Discussion” etc.) are hidden from the WordPress Dashboard.
* All comment-related widgets are disabled (so your theme cannot use them).
* The “Discussion” settings page is hidden.
* All comment RSS/Atom feeds are disabled (and requests for these will be redirected to the parent post).
* The X-Pingback HTTP header is removed from all pages.
* Outgoing pingbacks are disabled.
* Stop spam comments entirely from the site with one click.
* **[New]** Delete comments by type.
* **[New]** Disable comments via [XML-RPC](https://wpdeveloper.com/docs/how-to-disable-comments-made-via-xml-rpc/) & [REST-API](https://wpdeveloper.com/docs/how-to-disable-comments-made-via-rest-api/)
* **[New]** Fully Multi-site Network supported.
* **[New]** Manage multiple website network-specific subsites or entire network comments in advance.
* **[New]** Exclude Disable Comments Settings based on user roles.

https://www.youtube.com/watch?v=FBq3-W-p-DM

Please delete any existing comments on your site **before applying this setting**, otherwise (depending on your theme) those comments may still be displayed to visitors. You can use the **Delete Comments tool** to delete any existing comments on your site.

## 🌟 WHAT’S NEW WITH DISABLE COMMENTS 2.0

**AMAZING USER FRIENDLY INTERFACE**
Easily configure your comment-related settings with an amazing and attractive app-like user interface.

**WP-CLI COMMANDS TO DISABLE COMMENTS**
Use [WP-CLI](https://wpdeveloper.com/docs/how-to-use-disable-comments-plugin-with-wp-cli-command-line/) control for comment-related settings to disable comments on posts, pages, attachments or everywhere on your website.

https://www.youtube.com/watch?v=mzi5uhKB9Zk

**GET STARTED WITH QUICK SETUP WIZARD**
Use the quick setup wizard after activating the plugin to instantly configure comment-related settings for your WordPress website.

**DISABLE COMMENTS ON DOCS**
Instantly disable comments on your documentation pages or WordPress knowledge base with a single click.

https://www.youtube.com/watch?v=t7BQ-7A4y4s

**DELETE CERTAIN COMMENT TYPE(S)**
Permanently delete certain comment types from your WordPress website including WooCommerce product reviews as well as generic comments.

https://www.youtube.com/watch?v=Izm_ihC-z10

**DISABLE COMMENTS VIA XML-RPC And REST API**
Block any comments made on your WordPress website via XML-RPC specification and REST API.

**Important note**: Use this plugin if you don't want comments at all on your site (or on certain post types). Don't use it if you want to selectively disable comments on individual posts - WordPress lets you do that anyway. If you don't know how to disable comments on individual posts, there are instructions in **[the FAQ](https://wordpress.org/plugins/disable-comments/#faq).**

If you come across any bugs or have suggestions, please use the plugin support forum. I can't fix it if I don't know it's broken! Please check the **[FAQ](https://wordpress.org/plugins/disable-comments/#faq)** for common issues.

Want to contribute? Here's the **[GitHub development repository](https://github.com/WPDevelopers/disable-comments)**.

A [must-use version](https://github.com/WPDevelopers/disable-comments-mu) of the plugin is also available.

### Advanced Configuration

Some of the plugin’s behavior can be modified by site administrators and plugin/theme developers through code:

* Define `DISABLE_COMMENTS_REMOVE_COMMENTS_TEMPLATE` and set it to `false` to prevent the plugin from replacing the theme's comment template with an empty one.

* Define `DISABLE_COMMENTS_ALLOW_DISCUSSION_SETTINGS` and set it to `true` to prevent the plugin from hiding the Discussion settings page.

These definitions can be made either in your main `wp-config.php` or in your theme's `functions.php` file.


**THIS PLUGIN IS NOW MAINTAINED BY THE TEAM** [WPDeveloper](https://wpdeveloper.com/).


### 💙 LOVED DISABLE COMMENTS?

- For documentation and tutorials go to our [Documentation](https://wpdeveloper.com/docs-category/disable-comments/)

- For video tutorials go to our [YouTube Playlist](https://www.youtube.com/watch?v=J9AteKzQpPs&list=PLWHp1xKHCfxD2_xOIR5dMAGf3wd4hv-8K)

- Join our [Facebook Group](https://www.facebook.com/groups/wpdeveloper.net/)

- If you love Disable Comments, [rate us on WordPress](https://wordpress.org/support/plugin/disable-comments/reviews/?filter=5)

- For more information about features, FAQs, and documentation, check out our website at [Disable Comments](https://wpdeveloper.com/plugins/disable-comments/)


### 🔥 GET FREEBIES FOR YOUR WORDPRESS SITE

Consider checking out our other WordPress solutions & boost your WordPress website:

🔝 [Essential Addons For Elementor](https://wordpress.org/plugins/essential-addons-for-elementor-lite/): Most popular Elementor addons with 2 million+ happy users & 95+ widgets & ready blocks

🔔 [NotificationX](https://notificationx.com/) – Best Social Proof & FOMO Marketing Solution to increase conversion rates.

🔗 [BetterLinks](https://wordpress.org/plugins/betterlinks/): Latest best WordPress link management plugin for link shortening, tracking & analyzing.

📄 [EmbedPress](https://wordpress.org/plugins/embedpress/): EmbedPress lets you embed anything including videos, images, posts, audio, maps and upload PDF, DOC, PPT etc.

☁ [Templately](https://wordpress.org/plugins/templately/): 6000+ Free templates library for Elementor & Gutenberg along with the cloud collaboration for WordPress.

📚 [BetterDocs](https://wordpress.org/plugins/betterdocs/): Best Documentation & Knowledge Base Plugin for WordPress reduce manual support tickets & improve user experience.

⏰ [SchedulePress](https://wordpress.org/plugins/wp-scheduled-posts/): Advanced editorial calendar with WordPress Post Scheduling, Social Sharing, Missed scheduled alerts, and more.

⚡ [Flexia](https://wordpress.org/themes/flexia/): Most lightweight, customizable & multi purpose theme for WordPress.


Visit [WPDeveloper](https://wpdeveloper.com/) to learn more about how to do better in WordPress with [Help Tutorial, Tips & Tricks](https://wpdeveloper.com/blog).



== Installation ==

= Modern Way: =
1. Go to the WordPress Dashboard "Add New Plugin" section.
2. Search For "Disable Comments".
3. Install, then Activate it.
4. The plugin settings can be accessed via the 'Settings' menu in the administration area (either your site administration for single-site installs, or your network administration for network installs).

= Old Way: =
1. Upload the plugin folder to the `/wp-content/plugins/` directory
2. Activate the plugin through the 'Plugins' menu in WordPress
3. The plugin settings can be accessed via the 'Settings' menu in the administration area (either your site administration for single-site installs, or your network administration for network installs).



== Frequently Asked Questions ==

= Nothing happens after I disable comments on all posts - comment forms still appear when I view my posts. =

This is because your theme is not checking the comment status of posts in the correct way.

You may like to point your theme's author to [this explanation](https://wpdeveloper.com/wordpress-posts-have-comments-allowed/) of what they are doing wrong, and how to fix it.

= How can I remove the text that says "comments are closed" at the bottom of articles where comments are disabled? =

The plugin tries its very best to hide this (and any other comment-related) messages.

If you still see the message, then it means your theme is overriding this behaviour, and you will have to edit its files manually to remove it. Two common approaches are to either delete or comment out the relevant lines in `wp-content/your-theme/comments.php`, or to add a declaration to `wp-content/your-theme/style.css` that hides the message from your visitors. In either case, make you you know what you are doing!

= I only want to disable comments on certain posts, not globally. What do I do? =

Go to the edit page for the post you want to disable comments on. Scroll down to the "Discussion" box, where you will find the comment options for that post. If you don't see a "Discussion" box, then click on "Screen Options" at the top of your screen, and make sure the "Discussion" checkbox is checked.

You can also bulk-edit the comment status of multiple posts from the [posts screen](https://codex.wordpress.org/Posts_Screen).

= I want to delete comments from my database. What do I do? =

Go to the tools page for the Disable Comments plugin and utlize the Delete Comments tool to delete all comments or according to the specified post types from your database.



== Screenshots ==

1. Setting Screen for Disable Comments
2. Delete Comments under Tools menu.
3. Multisite Network support


== Changelog ==

The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).
This will be maintained from August 19, 2020 - @asif2bd

= [2.7.0] - 2026-04-05 =
* Improvement: Improved overall performance and stability

= [2.6.2] - 2026-01-20 =
* Fixed: An issue where deleting Notes in WordPress 6.9+ throws an error

= [2.6.1] - 2025-12-02 =
* Compatible with WordPress 6.9
* Added: Introduced the “Enable Certain Comment Types” setting, allowing you to exclude the new Block Editor “Notes” comment type introduced in WordPress 6.9

= [2.6.0] - 2025-11-05 =
* New Feature: Show Existing Comments
* Improved: Security Enhancements

= [2.5.3] - 2025-09-14 =
* Enhancement: Introduced a function to retrieve settings details ([#f16cee5](https://github.com/WPDevelopers/disable-comments/commit/f16cee5a4f939bcf8bb1f1d98e5b27103dc632ee))

= [2.5.2] - 2025-05-20 =
* Fixed: Issue where post types were not being selected in the "On Specific Post Types" section of the plugin settings

= [2.5.1] - 2025-05-15 =
* Few minor bug fixes and improvements

= [2.5.0] - 2025-05-15 =
* Added: Accessibility support to the plugin settings page
* Various minor improvements and enhancements

= [2.4.7] - 2025-01-27 =
* Fixed: Errors reported by Plugin Check (PCP)
* Few minor bug fixes and improvements

= [2.4.6] - 2024-03-25 =
* Added: WordPress 6.5 Compatibility

= [2.4.5] - 2023-08-30 =
* Minor bug fixes and improvements.

= [2.4.4] - 2023-06-19 =
* Fixed: PHP 8.2 deprecated issue fixed while using WP-CLI.
* Few minor bug fixes and improvements.

= [2.4.3] - 2023-01-12 =
* Added: PHP 8.2 Compatibility

= [2.4.2] - 2022-09-18 =
* Improved sanitization.

= [2.4.1] - 2022-08-10 =
* Improvement: Localized missing strings in plugin.
* Improvement: Included the fonts in plugin distribution.

= [2.4.0] - 2022-07-27 =
* New Feature: Exclude Disable Comments settings based on user roles.
* Few minor bug fix and improvement.

= [2.3.6] - 2022-06-05 =
* Fixed: JavaScript error in Gutenberg editor.

= [2.3.5] - 2022-04-27 =
* Added: More WP-CLI commands.
* Few minor bug fix and improvement.

= [2.3.4] - 2022-03-28 =
* Fixed: PHP Warning in Multisite Network.

= [2.3.3] - 2022-01-25 =
* Added: WordPress 5.9 compatibility added.

= [2.3.2] - 2021-12-20 =
* Added: Configure Disable Avatar settings from the main network of Multisite Network.
* Fixed: Disable Comments via REST API toggle mismatch issue.

= [2.3.1] - 2021-12-14 =
* Added: You can enable or disable Avatar from Disable Comments settings.

= [2.3.0] - 2021-12-14 =
* New Feature: Delete Spam Comments.
* Updated deprecated jQuery library.
* Improvement: Disable Gravatar request.
* Few minor bug fixes and improvement.

= [2.2.4] - 2021-11-09 =
* Added: Ajax pagination in Subsite area (Multisite network).
* Added: Ajax search in Subsite area (Multisite network).
* Added: "Disable Comments" navigation added inside Comments menu.
* Few minor bug fixes and improvement.

= [2.2.3] - 2021-10-25 =
* Few minor bug fixes and improvement.

= [2.2.2] - 2021-10-05 =
* Added: "Select All" checkbox for subsites selection in a multisite network.
* Few minor bug fixes and improvement.

= [2.2.1] - 2021-09-26 =
* Fixed: 100+ subsites limit issue in multisite network

= [2.2.0] - 2021-09-22 =
* New Feature: Configure Disable Comments on Subsites from Main Network in Multisite Network.
* Improvement: UX Improvement.
* Few minor bug fix and improvement.

= [2.1.2] - 2021-06-20 =
* Improvement: Fix for Attempt to read property "post_type" on null

= [2.1.1] - 2021-04-06 =
* Improvement: Compatible with WordPress 5.7
* Few minor bug fix and improvement


= [2.1.0] - 2021-02-08 =
* New Feature: Site wise settings in Multisite Network
* Added: Some strings localization
* Fixed: Delete Comments in Multisite
* Few minor bug fix and improvement

= [2.0.2] - 2020-12-01 =
* Removed: Quick Setup Wizard
* Improved: Redirection settings page after activation.
* Fixed: Text-Domain Issue.

= [2.0.1] - 2020-11-28 =
* Bug Fix: Settings page URL issue fixed from plugins page.
* Improvement: Quick Setup Wizard instructions.

= [2.0.0] - 2020-11-28 =
* Improved UI for Settings page
* New feature: Manage Disable Comments settings with WP-CLI
* New feature: Quick Setup Wizard
* New feature: Disable Comments via REST-API
* New feature: Disable Comments via XML-RPC

= [1.11.0] - 2020-08-22 =
* Introducing Delete Comment by Type - Contribution by garretthyder
* PHP 7.4 Tested
* WordPress 5.5 Compatible Tested

= [1.10.3] - 2020-07-29 =
* Minor fix - changelog backported.

= 1.10.0 =
* Disable "recent comments" Gutenberg block.

= 1.9.0 =
* Fix compatibility with WordPress 5.0 and above.
* Remove deprecated "persistent mode" feature.

= 1.8.0 =
* Added `DISABLE_COMMENTS_ALLOW_DISCUSSION_SETTINGS` configuration.

= 1.7.1 =
* Small enhancements to hiding comment-related functionality in the admin.

= 1.7 =
* Dropped logic to try and hide the comments link from the Meta widget. Administrators should manually add styling to hide this link, or replace the Meta widget with an alternative.
* Removed the `disable_comments_allow_persistent_mode` filter. Define `DISABLE_COMMENTS_ALLOW_PERSISTENT_MODE` instead.

= 1.6 =
* Added a tool for deleting comments in bulk.

= 1.5.2 =
* Fix Javascript errors when the Meta widget is enabled.
* Hide comments link from the Welcome panel.

= 1.5.1 =
* Hide existing comments if there are any.
* Filter the comments link in the Meta widget if it is enabled.

= 1.5 =
* Remove the comments feed link from the head in WP 4.4 and higher.

= 1.4.2 =
* Delay loading of translation text domain until all plugins are loaded. This allows plugins to modify translations.

= 1.4 =
* Hide the troublesome "persistent mode" option for all sites where it is not in use. This option will be removed in a future release.

= 1.3.2 =
* Compatibility updates and code refactoring for WordPress 4.3
* Adding a few new translations

= 1.3.1 =
* Change the behaviour for comment feed requests. This removes a potential security issue.

= 1.3 =
* Move persistent mode filter into a define.
* Add an advanced option to show the theme's comment template even when comments are disabled.

= 1.2 =
* Allow network administrators to disable comments on custom post types across the whole network.

= 1.1.1 =
* Fix PHP warning when active_sitewide_plugins option doesn't contain expected data type.

= 1.1 =
* Attempt to hide the comments template ("Comments are closed") whenever comments are disabled.

= 1.0.4 =
* Fix CSRF vulnerability in the admin. Thanks to dxw for responsible disclosure.

= 1.0.3 =
* Compatibility fix for WordPress 3.8

= 1.0.2 =
* Disable comment-reply script for themes that don't check comment status properly.
* Add French translation

= 1.0.1 =
* Fix issue with settings persistence in single-site installations.

= 1.0 =
* Prevent theme comments template from being displayed when comments are disabled everywhere.
* Prevent direct access to comment admin pages when comments are disabled everywhere.

= 0.9.2 =
* Make persistent mode option filter available all the time.
* Fix redirection for feed requests
* Fix admin bar filtering in WP 3.6

= 0.9.1 =
* Short life in the wild.

= 0.9 =
* Added gettext support and German translation.
* Added links to GitHub development repo.
* Allow network administrators to prevent the use of persistent mode.

= 0.8 =
* Remove X-Pingback header when comments are completely disabled.
* Disable comment feeds when comment are completely disabled.
* Simplified settings page.

= 0.7 =
* Now supports Network Activation - disable comments on your entire multi-site network.
* Simplified settings page.

= 0.6 =
* Add "persistent mode" to deal with themes that don't use filterable comment status checking.

= 0.5 =
* Allow temporary disabling of comments site-wide by ensuring that original comment statuses are not overwritten when a post is edited.

= 0.4 =
* Added the option to disable the Recent Comments template widget.
* Bugfix: don't show admin messages to users who don't can't do anything about them.

= 0.3.5 =
* Bugfix: Other admin menu items could inadvertently be hidden when 'Remove the "Comments" link from the Admin Menu' was selected.

= 0.3.4 =
* Bugfix: A typo on the settings page meant that the submit button went missing on some browsers. Thanks to Wojtek for reporting this.

= 0.3.3 =
* Bugfix: Custom post types which don't support comments shouldn't appear on the settings page
* Add warning notice to Discussion settings when comments are disabled

= 0.3.2 =
* Bugfix: Some dashboard items were incorrectly hidden in multisite

= 0.3.1 =
* Compatibility fix for WordPress 3.3

= 0.3 =
* Added the ability to remove links to comment admin pages from the Dashboard, Admin Bar and Admin Menu

= 0.2.1 =
* Usability improvements to help first-time users configure the plugin.

= 0.2 =
* Bugfix: Make sure pingbacks are also prevented when comments are disabled.


== Upgrade Notice ==

[Minor Update] Few minor bug fixes and improvement.
