wpinc.ru wordpress WP Inc

Автоматизация создания и удаления черновиков в WordPress

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

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

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

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

В итоге вы получаете более организованную систему управления контентом без лишних действий.

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

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

function WPINC_forge_drafts($title = 'Новый черновик', $content = '') {
    $post_data = array(
        'post_title'    => $title,
        'post_content'  => $content,
        'post_status'   => 'draft',
        'post_author'   => get_current_user_id(),
        'post_type'     => 'post',
    );

    // Проверяем, нет ли уже такого черновика
    $existing = get_posts(array(
        'title'         => $title,
        'post_status'   => 'draft',
        'post_type'     => 'post',
        'numberposts'   => 1
    ));

    if(empty($existing)) {
        wp_insert_post($post_data);
    }
}

Для запуска по расписанию можно использовать плагин Clearfy Pro, который расширяет штатный WP-Cron и позволяет создавать задачи с гибкими условиями.

Автоматическое удаление черновиков по времени с WPINC_cleanup_old_drafts()

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

function WPINC_cleanup_old_drafts($days = 30) {
    $args = array(
        'post_type'      => 'post',
        'post_status'    => 'draft',
        'date_query'     => array(
            array(
                'column' => 'post_modified_gmt',
                'before' => "$days days ago",
            ),
        ),
        'posts_per_page' => -1
    );
    $old_drafts = get_posts($args);

    foreach ($old_drafts as $draft) {
        wp_delete_post($draft->ID, true); // true для полного удаления
    }
}

Эту функцию также удобно запускать по cron, например, раз в неделю. Если вы используете Clearfy Pro, настройка периодических задач значительно упростится.

Пример создания расписания cron для удаления черновиков

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

if (!wp_next_scheduled('wpinc_cleanup_old_drafts_event')) {
    wp_schedule_event(time(), 'weekly', 'wpinc_cleanup_old_drafts_event');
}

add_action('wpinc_cleanup_old_drafts_event', function() {
    WPINC_cleanup_old_drafts(30);
});

Так вы будете автоматически очищать черновики старше 30 дней каждую неделю.

Использование плагинов для автоматизации управления черновиками

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

  • Auto Draft Cleanup — удаляет черновики старше определённого срока автоматически.
  • WP Scheduled Posts — позволяет планировать автоматическое создание и публикацию черновиков.
  • Clearfy Pro — расширяет возможности WP-Cron, включая удобное создание и управление расписаниями задач.

Эти плагины помогут быстро настроить необходимые процессы без глубоких знаний программирования.

Советы по безопасной автоматизации и оптимизации

При автоматизации важно учитывать несколько моментов:

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

Соблюдение этих правил поможет избежать потери данных и сбоев.

Заключение

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

×
WordPress
дай сайту суперсилу!

Скидки на топовые темы и плагины

Активировать суперсилу ⋙