Как удалить все комментарии из WordPress одним кодом

Зачем удалять все комментарии в WordPress

Иногда возникает необходимость очистить сайт от всех комментариев. Это может быть связано с миграцией, сменой концепции блога, или если комментарии стали источником спама и нежелательного контента. Удаление всех комментариев вручную — процесс долгий и неудобный, особенно на крупных сайтах с тысячами записей.

В этой статье я расскажу, как быстро и безболезненно удалить все комментарии из WordPress с помощью одного куска кода. Это поможет вам сэкономить время и избежать ошибок при работе с базой данных.

Удаление всех комментариев через WPGuest-функцию на PHP

Для начала рассмотрим вариант с использованием пользовательской функции на PHP, которую можно выполнить через файл темы или плагин. Вот пример функции, которая удаляет все комментарии из базы данных:

function wpguest_delete_all_comments() {
    global $wpdb;
    $comments_table = $wpdb->comments;
    $comments_meta_table = $wpdb->commentmeta;

    // Удаляем все метаданные комментариев
    $wpdb->query( "DELETE FROM $comments_meta_table" );

    // Удаляем все комментарии
    $wpdb->query( "DELETE FROM $comments_table" );

    // Обновляем счетчики комментариев в постах
    $wpdb->query( "UPDATE $wpdb->posts SET comment_count = 0" );
}

// Запуск функции
wpguest_delete_all_comments();

Эта функция напрямую работает с базой данных, удаляя записи из таблиц комментариев и их метаданных, а также сбрасывая счетчики комментариев у всех записей. Вызовите эту функцию один раз — и все комментарии пропадут.

Важное предупреждение: перед запуском любой операции с базой данных обязательно создайте резервную копию. После удаления восстановить комментарии будет невозможно без бэкапа.

Как и где запускать этот код

Для запуска функции можно временно добавить ее в файл functions.php вашей активной темы, либо создать небольшой плагин. Вариант с плагином предпочтительнее, так как не зависит от темы и проще отключается.

Пример минимального плагина для удаления всех комментариев:

<?php
/*
Plugin Name: WPGuest Delete All Comments
Description: Удаляет все комментарии из базы данных WordPress.
Version: 1.0
Author: WPGuest
*/

function wpguest_delete_all_comments_plugin() {
    global $wpdb;
    $comments_table = $wpdb->comments;
    $comments_meta_table = $wpdb->commentmeta;

    $wpdb->query( "DELETE FROM $comments_meta_table" );
    $wpdb->query( "DELETE FROM $comments_table" );
    $wpdb->query( "UPDATE $wpdb->posts SET comment_count = 0" );
}

register_activation_hook( __FILE__, 'wpguest_delete_all_comments_plugin' );

После активации плагина все комментарии будут удалены, затем плагин можно деактивировать и удалить.

Удаление всех комментариев через WP-CLI

Если у вас есть доступ к серверу и установлен WP-CLI, самый простой способ удалить все комментарии — использовать команду:

wp comment delete $(wp comment list --format=ids) --force

Разберём по частям:

  • wp comment list --format=ids — выводит список ID всех комментариев
  • wp comment delete <ids> --force — удаляет комментарии по ID без подтверждения

Этот способ безопасный и удобный, особенно при большом количестве комментариев. Кроме того, WP-CLI автоматически обновит счетчики комментариев и очистит связанные данные.

Преимущества WP-CLI

WP-CLI позволяет выполнять множество операций с WordPress напрямую из консоли, что экономит время и снижает риск ошибок. При работе с комментариями это самый быстрый и надежный метод.

Если WP-CLI не установлен, обратитесь к хостеру или настройте его самостоятельно — это полезный инструмент для любого разработчика.

Рассмотрим полезные плагины для управления комментариями

Если вы хотите не просто удалить все комментарии, а управлять ими комплексно, есть несколько полезных плагинов:

  • Delete All Comments of WordPress: простой плагин для удаления всех комментариев и метаданных одним кликом без лишних настроек.
  • WP Bulk Delete: мощный инструмент, который позволяет массово удалять комментарии по различным критериям — например, по дате, статусу, автору.
  • Disable Comments: плагин для полного отключения комментариев на сайте, если вы хотите навсегда отказаться от этой функции.

Все эти плагины можно найти в официальном репозитории WordPress и установить через админ-панель.

Когда использовать плагины, а когда код

Если вам нужна однократная операция удаления всех комментариев, проще использовать код или WP-CLI. Для регулярного управления, фильтрации и массового удаления удобнее плагины.

Комбинируйте подходы, чтобы добиться максимального результата и безопасности.

Резюме по удалению комментариев в WordPress

Удаление всех комментариев может понадобиться по разным причинам, и сделать это можно несколькими способами. Вариант с кодом дает полный контроль и подходит для разработчиков, WP-CLI — быстрый и надежный инструмент для серверной работы, а плагины обеспечивают удобство и гибкость для администраторов без навыков программирования.

Всегда делайте резервные копии и тщательно проверяйте действия, чтобы не потерять важную информацию.

Как создать собственный плагин WordPress с настройками
10.11.2025
Как автоматизировать удаление старых вариативных товаров WooCommerce
26.07.2026
Как отключить AJAX подгрузку комментариев в WordPress
02.02.2026
Как автоматизировать удаление старых ревизий записей в WordPress
12.03.2026
Как ограничить REST API в WordPress без поломки сайта
17.08.2026