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

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

Зачем нужна автоматизация черновиков в WordPress

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

  • Регулярно создавать шаблонные черновики для быстрого заполнения контентом.
  • Автоматически удалять устаревшие или неиспользуемые черновики, освобождая место и снижая нагрузку на базу данных.
  • Сократить ручной труд и минимизировать ошибки.

Автоматическое создание черновиков с помощью WPManual_create_draft()

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

function wpmanual_create_draft($title, $content = '', $author_id = 1) {
    $draft = array(
        'post_title'    => $title,
        'post_content'  => $content,
        'post_status'   => 'draft',
        'post_author'   => $author_id,
        'post_type'     => 'post'
    );
    $post_id = wp_insert_post($draft);
    return $post_id;
}

Эта функция принимает заголовок, содержимое и ID автора. Пример использования:

$draft_id = wpmanual_create_draft('Автоматический черновик', 'Текст для будущей публикации');
if ($draft_id) {
    echo 'Черновик создан с ID: ' . $draft_id;
}

Вы можете вызывать эту функцию из cron-задачи для регулярного создания черновиков.

Настройка cron для создания черновиков

Чтобы запускать создание черновика автоматически, зарегистрируем собственное событие в WordPress cron:

function wpmanual_schedule_draft_creation() {
    if (!wp_next_scheduled('wpmanual_create_draft_event')) {
        wp_schedule_event(time(), 'daily', 'wpmanual_create_draft_event');
    }
}
add_action('wp', 'wpmanual_schedule_draft_creation');

add_action('wpmanual_create_draft_event', function() {
    wpmanual_create_draft('Автоматический ежедневный черновик');
});

Этот код создаст по одному черновику в день с указанным заголовком.

Автоматическое удаление устаревших черновиков с помощью WPManual_delete_old_drafts()

Через некоторое время количество черновиков может стать слишком большим. Удалим все черновики старше 30 дней для оптимизации базы данных.

function wpmanual_delete_old_drafts($days = 30) {
    global $wpdb;
    $date_threshold = date('Y-m-d H:i:s', strtotime("-{$days} days"));

    $drafts = $wpdb->get_results($wpdb->prepare(
        "SELECT ID FROM {$wpdb->posts} WHERE post_status = 'draft' AND post_date < %s",
        $date_threshold
    ));

    if ($drafts) {
        foreach ($drafts as $draft) {
            wp_delete_post($draft->ID, true); // true - удаление без перемещения в корзину
        }
    }
}

Подключим эту функцию к cron-заданию для еженедельного запуска:

function wpmanual_schedule_draft_deletion() {
    if (!wp_next_scheduled('wpmanual_delete_old_drafts_event')) {
        wp_schedule_event(time(), 'weekly', 'wpmanual_delete_old_drafts_event');
    }
}
add_action('wp', 'wpmanual_schedule_draft_deletion');

add_action('wpmanual_delete_old_drafts_event', function() {
    wpmanual_delete_old_drafts(30);
});

Плагины для управления черновиками и автоматизацией

Если не хочется писать код, можно воспользоваться готовыми плагинами. Вот несколько полезных решений, совместимых с WPManual:

  • Clearfy Pro — содержит модули для оптимизации и очистки базы, включая управление черновиками.
  • WPRemark — плагин для комментирования и управления контентом, с возможностью автоматизации.
  • Scheduled Posts — позволяет планировать публикации и управлять статусами, включая черновики.

Для интеграции с WPManual и дополнительной автоматизации можно комбинировать написанный код с этими плагинами.

Советы по безопасности и производительности при автоматизации

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

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

Выводы

Автоматизация создания и удаления черновиков в WordPress помогает поддерживать порядок в базе данных, экономит время и ресурсы. С помощью простых функций и cron-задач можно настроить регулярное создание шаблонных черновиков и удаление устаревших. Для расширения возможностей рекомендуем использовать плагины, такие как Clearfy Pro и WPRemark, которые легко интегрируются в рабочий процесс.

Как удалять и изменять поля пользователя в WordPress через код
11.04.2026
Как использовать хуки в WordPress для расширения функциональности
10.11.2025
WooCommerce: как исправить неработающее AJAX обновление корзины
08.05.2026
Как использовать хуки для отложенного выполнения кода в WordPress
05.01.2026
Как отключить автовоспроизведение видео в WordPress
14.12.2025