Title: Delete &amp; Disable Comments
Author: Andreas Ostheimer
Published: <strong>June 4, 2025</strong>
Last modified: May 24, 2026

---

Search plugins

![](https://ps.w.org/delete-disable-comments/assets/banner-772x250.png?rev=3547226)

![](https://ps.w.org/delete-disable-comments/assets/icon-256x256.png?rev=3547226)

# Delete & Disable Comments

 By [Andreas Ostheimer](https://profiles.wordpress.org/helpstring/)

[Download](https://downloads.wordpress.org/plugin/delete-disable-comments.1.0.5.zip)

 * [Details](https://vec.wordpress.org/plugins/delete-disable-comments/#description)
 * [Reviews](https://vec.wordpress.org/plugins/delete-disable-comments/#reviews)
 *  [Installation](https://vec.wordpress.org/plugins/delete-disable-comments/#installation)
 * [Development](https://vec.wordpress.org/plugins/delete-disable-comments/#developers)

 [Support](https://wordpress.org/support/plugin/delete-disable-comments/)

## Description

**Delete & Disable Comments** gives WordPress administrators a focused screen for
comment cleanup and comment shutdown tasks. Open it under **Tools  Delete & Disable
Comments**.

Many older sites collect spam comments, unused discussion threads, or imported comment
data that no longer belongs on the site. This plugin keeps those maintenance actions
in one place without asking you to edit the database manually.

#### Why use it?

 * Delete all comments marked as spam after confirmation.
 * Delete all comments after confirmation.
 * Download a CSV backup before deleting all comments.
 * Disable comments site-wide with a single toggle.
 * Close comments and pings on existing posts when disable mode is active.
 * Use a standard WordPress admin screen available only to administrators.

#### Common use cases

 * Remove accumulated spam comments from a site.
 * Prepare a site that no longer accepts discussion.
 * Clean comments before a redesign, migration, or client handover.
 * Download a CSV copy of comment data before permanent deletion.
 * Close open comment status on existing posts without triggering `save_post` hooks.

#### What Disable Comments does

The **Disable Comments** toggle changes the site’s comment behavior. When enabled,
it sets WordPress defaults for new content to closed, prevents new comment and ping
submissions, hides front-end comment output, removes comment-related UI, blocks 
comment REST endpoints, unregisters comment-related blocks, and removes the recent
comments widget.

It does **not** delete existing comments. It also does not run a scheduled cleanup.
If existing posts still have open comment or ping status, the admin screen shows
a maintenance notice with a **Close all comments now** button. That button performs
one direct SQL update to close those fields and avoids per-post `save_post` hooks,
which is useful for sites using WPML, Yoast SEO, Polylang, or other plugins that
listen to post updates.

#### Translations

The plugin ships with gettext translation files for broad EU language support, including
German and additional EU locales. WordPress loads the matching `.mo` file automatically
based on the site language. Text domain: `delete-disable-comments`.

## Screenshots

 * [[
 * Main panel with three sections: spam, delete all plus backup, disable toggle
 * [[
 * Spam delete confirmation dialog with Yes and No
 * [[
 * Delete all warning plus backup reminder
 * [[
 * Disable toggle ON plus yellow maintenance notice plus Close all comments now 
   button

## Installation

 1. Upload the plugin folder to `/wp-content/plugins/delete-disable-comments`, or install
    the ZIP via **Plugins  Add New  Upload Plugin**.
 2. Activate the plugin through the **Plugins** screen in WordPress.
 3. Open **Tools  Delete & Disable Comments** to delete spam comments, download a CSV
    backup, delete all comments, or disable comments site-wide.

## FAQ

### Can I back up comments before deleting them?

Yes. Use **Download Backup** before **Delete All Comments**. The backup is a CSV
file generated from existing comments and offered as a browser download.

### Can the plugin restore deleted comments from a CSV backup?

No. The CSV backup is for safekeeping or manual import workflows. The plugin does
not include a restore tool.

### Does disabling comments delete existing comments?

No. The disable toggle prevents and hides comment functionality, but existing comment
records stay in the database until you explicitly delete them.

### What does “Close all comments now” do?

When disable mode is active, some existing posts may still have `comment_status`
or `ping_status` set to open. The button closes those fields in one SQL update.

### Is the close action safe with WPML, Yoast SEO, or Polylang?

The close action does not call `wp_update_post()` for every post and does not trigger`
save_post` hooks. That keeps it suitable for sites using WPML, Yoast SEO, Polylang,
and other plugins that react to post saves.

### Who can use the plugin screen?

Only users with the `manage_options` capability, usually administrators. AJAX actions
are protected with WordPress nonces and capability checks.

### Does it support WordPress multisite?

No. This plugin is designed for single-site WordPress installations.

### Does it run scheduled cleanup jobs?

No. Cleanup actions run only when an administrator clicks the relevant button.

### Where are CSV backup files stored?

Backups are written under `wp-content/uploads/delete-disable-comments/` and are 
also offered as a direct browser download.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Delete & Disable Comments” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Andreas Ostheimer ](https://profiles.wordpress.org/helpstring/)

[Translate “Delete & Disable Comments” into your language.](https://translate.wordpress.org/projects/wp-plugins/delete-disable-comments)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/delete-disable-comments/),
check out the [SVN repository](https://plugins.svn.wordpress.org/delete-disable-comments/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/delete-disable-comments/)
by [RSS](https://plugins.trac.wordpress.org/log/delete-disable-comments/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.5

 * Added complete EU locale translation files and compiled `.mo` files for the admin
   UI.
 * Kept complete German translations (`de_AT`, `de_DE`) for admin UI, AJAX messages,
   and maintenance notices.
 * Updated the translation template (`.pot`) and fixed the hardcoded “Error loading
   status” JavaScript message.

#### 1.0.4

 * Plugin Check compliance: `Tested up to` 7.0, sanitized toggle AJAX input, documented
   intentional bulk SQL queries.
 * Version bump for WordPress.org submission readiness.

#### 1.0.3

 * Fixed the disable-comments toggle so it no longer runs a synchronous bulk update
   on `wp_posts` during AJAX.
 * Bulk-closing existing posts is now performed only through **Close all comments
   now** or on plugin activation when disable mode is already enabled.
 * Hardened toggle AJAX input handling and admin JavaScript error recovery.
 * Removed Cypress E2E tests from the repository; PHP smoke tests remain under `
   tests/php/`.

#### 1.0.2

 * Fixed `ddwpc_init()` so it no longer iterates over every post on every page request.
 * Bulk close-comments now runs only when the administrator clicks **Close all comments
   now**.
 * Bulk close operation uses a single `$wpdb` update without triggering `save_post`,`
   transition_post_status`, or `wp_after_insert_post`.
 * Settings screen shows the count of posts with open comments or pings and provides
   a one-click close button.
 * Added helpers: `ddwpc_is_disable_comments_enabled()`, `ddwpc_apply_disable_comments_defaults()`,`
   ddwpc_close_all_post_comments_in_db()`, and `ddwpc_count_posts_with_open_comments()`.

#### 1.0.1

 * Renamed plugin prefixes from `ddc_` to `ddwpc_` across PHP and JavaScript.
 * Removed the manual `load_plugin_textdomain()` call because WordPress 4.6+ auto-
   loads plugin translations.
 * Removed direct core file loads.
 * Moved CSV backups under `wp-content/uploads/delete-disable-comments/`.

#### 1.0.0

 * Initial release with spam deletion, delete-all with backup, and site-wide comment
   disable.

## Meta

 *  Version **1.0.5**
 *  Last updated **15 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.0 or higher **
 *  Tested up to **7.0**
 *  PHP version ** 7.2 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/delete-disable-comments/)
 * Tags
 * [backup](https://vec.wordpress.org/plugins/tags/backup/)[comments](https://vec.wordpress.org/plugins/tags/comments/)
   [delete comments](https://vec.wordpress.org/plugins/tags/delete-comments/)[disable comments](https://vec.wordpress.org/plugins/tags/disable-comments/)
   [spam](https://vec.wordpress.org/plugins/tags/spam/)
 *  [Advanced View](https://vec.wordpress.org/plugins/delete-disable-comments/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/delete-disable-comments/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/delete-disable-comments/reviews/)

## Contributors

 *   [ Andreas Ostheimer ](https://profiles.wordpress.org/helpstring/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/delete-disable-comments/)