Как удалить все посты и страницы в WordPress быстро и безопасно

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

Почему важно правильно удалять все записи и страницы в WordPress

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

  • Удалённые посты могут оставаться в корзине и занимать место.
  • Некоторые записи связаны с метаданными, комментариями и таксономиями, которые тоже нужно удалить.
  • Без правильного подхода можно случайно повредить структуру сайта или базу данных.

Поэтому мы рекомендуем использовать проверенные методы и делать резервные копии перед началом операций.

Способ 1: Использование плагина WP Bulk Delete для массового удаления

Плагин WP Bulk Delete — мощный и удобный инструмент для массового удаления постов, страниц и пользовательских типов записей по различным условиям. Он позволяет быстро очистить весь контент или оставить только нужные элементы.

Как использовать WP Bulk Delete для удаления всех постов и страниц

  1. Установите и активируйте плагин через админку WordPress.
  2. Перейдите в меню Bulk WP Delete > Bulk Delete Posts.
  3. В разделе Post Type выберите Post для удаления записей блога.
  4. Для удаления страниц выберите Page в аналогичном разделе.
  5. Выберите опцию Delete all posts или Delete all pages.
  6. Нажмите кнопку Delete и подтвердите действие.

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

Способ 2: Удаление всех постов и страниц с помощью WP-CLI

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

Команды для удаления

Удаление всех постов:

wp wprus_delete_all_posts() { wp post delete $(wp post list --post_type=post --format=ids) --force; } wprus_delete_all_posts

Удаление всех страниц:

wp wprus_delete_all_pages() { wp post delete $(wp post list --post_type=page --format=ids) --force; } wprus_delete_all_pages

Здесь мы используем внутренние функции с префиксом wprus_ для примера. Функции вызывают WP-CLI для получения списка ID записей и удаления их без перемещения в корзину (параметр --force).

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

Способ 3: Программное удаление через PHP-код

Иногда нужно встроить удаление в тему или плагин. Рассмотрим простой пример функции, которая удалит все посты и страницы:

function wprus_delete_all_posts_and_pages() {
    // Получаем все ID постов
    $posts = get_posts(array(
        'post_type' => array('post', 'page'),
        'numberposts' => -1,
        'post_status' => 'any',
        'fields' => 'ids',
    ));

    foreach ($posts as $post_id) {
        wp_delete_post($post_id, true); // true — принудительное удаление
    }
}

Эту функцию можно вызвать один раз, например, через хук администратора или WP-CLI команду. Обратите внимание, что параметр $force_delete равен true, чтобы обойти корзину.

Как безопасно использовать код

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

add_action('admin_menu', function() {
    add_submenu_page('tools.php', 'Удалить все записи', 'Удалить все записи', 'manage_options', 'wprus-delete-all', function() {
        if (isset($_POST['wprus_delete_all'])) {
            wprus_delete_all_posts_and_pages();
            echo '<div class="notice notice-success">Все записи удалены.</div>';
        }
        echo '<form method="post"><input type="submit" name="wprus_delete_all" value="Удалить все посты и страницы" class="button button-danger" /></form>';
    });
});

Так вы сможете запускать удаление вручную из админки, исключая случайные удаления.

Советы по безопасности и резервному копированию

Массовое удаление контента — опасная операция, поэтому:

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

Заключение: Какой способ выбрать

Для большинства пользователей самым удобным и безопасным будет плагин WP Bulk Delete. Он интуитивен и позволяет гибко настроить условия удаления. Для тех, кто предпочитает командную строку и работает с большими сайтами — WP-CLI обеспечит скорость и контроль. Если нужен встроенный в тему или плагин функционал — используйте программный метод с функцией, описанной выше, придерживаясь мер безопасности.

Независимо от выбранного способа, подходите к удалению контента ответственно и всегда делайте резервные копии.

WooCommerce: как изменить стиль кнопки «Добавить в корзину» при добавлении товара
07.06.2026
Автоматическое создание категорий при импорте товаров WooCommerce: практическое руководство
15.04.2026
Как добавить свое шорткод в WordPress: подробное руководство
15.11.2025
Как удалить битые ссылки в WordPress: автоматические и ручные методы
05.04.2026
Как удалить загруженные файлы из медиатеки WordPress по ссылке
06.12.2025
×
-15%
на премиум плагин
My Popup

Повысьте конверсию!

Получить скидку »