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

Зачем нужно расписание публикаций в WordPress

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

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

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

Основные функции планирования публикаций в WordPress

По умолчанию WordPress позволяет задать дату и время публикации записи через редактор. Для этого нужно в редакторе справа выбрать «Опубликовать», затем нажать на дату и указать нужное время. Если время в будущем — запись попадёт в очередь и опубликуется автоматически.

Это работает хорошо для единичных статей, но не подходит для сложных задач:

  • Повторяющиеся публикации
  • Публикация нескольких постов по расписанию
  • Публикация с условиями или по событию
  • Массовое управление отложенными публикациями

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

Плагины для расширенного расписания публикаций

1. SchedulePress (ранее WP Scheduled Posts)

Очень популярный плагин с визуальным календарём публикаций. Позволяет легко планировать, управлять и изменять расписание. Имеет функции автоматического репостинга и массовой корректировки.

Преимущества:

  • Удобный drag-and-drop интерфейс
  • Автоматическое расписание для множества постов
  • Уведомления о запланированных публикациях

Недостаток — часть функционала доступна только в PRO-версии.

2. PublishPress

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

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

Создание собственного расписания публикаций с помощью кода

Использование WP-Cron для запуска задач по расписанию

WordPress использует систему wp-cron для выполнения запланированных задач. Мы можем создавать свои задачи, которые будут запускаться по расписанию и публиковать посты.

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

function wppolls_publish_scheduled_posts() {
    $args = array(
        'post_status' => 'future',
        'meta_key' => 'wppolls_schedule',
        'meta_value' => 'auto',
        'posts_per_page' => 5
    );
    $query = new WP_Query($args);
    if ($query->have_posts()) {
        while ($query->have_posts()) {
            $query->the_post();
            $post_id = get_the_ID();
            wp_publish_post($post_id);
        }
    }
    wp_reset_postdata();
}

if (!wp_next_scheduled('wppolls_cron_publish_hook')) {
    wp_schedule_event(time(), 'hourly', 'wppolls_cron_publish_hook');
}
add_action('wppolls_cron_publish_hook', 'wppolls_publish_scheduled_posts');

В этом примере мы создаём задачу, которая каждый час проверяет наличие отложенных постов с мета-полем wppolls_schedule = auto и публикует их.

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

Программное создание отложенной записи с мета-данными

Чтобы создать запись, которая будет опубликована позже, можно использовать следующий код:

$post_data = array(
    'post_title' => 'Отложенный пост от wppolls',
    'post_content' => 'Содержание поста...',
    'post_status' => 'future',
    'post_author' => 1,
    'post_date' => date('Y-m-d H:i:s', strtotime('+2 hours'))
);

$post_id = wp_insert_post($post_data);

if (!is_wp_error($post_id)) {
    update_post_meta($post_id, 'wppolls_schedule', 'auto');
}

Этот код создаёт пост, который автоматически опубликуется через 2 часа благодаря стандартному механизму WordPress и нашему кастомному планировщику.

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

Для удобства можно добавить в админ-панель свой экран с расписанием публикаций, чтобы видеть, какие посты запланированы, их статус и возможность редактировать даты.

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

function wppolls_add_schedule_page() {
    add_menu_page('Расписание публикаций', 'Расписание', 'manage_options', 'wppolls-schedule', 'wppolls_render_schedule_page');
}
add_action('admin_menu', 'wppolls_add_schedule_page');

function wppolls_render_schedule_page() {
    $args = array('post_status' => 'future', 'posts_per_page' => 20);
    $posts = get_posts($args);
    echo '<h1>Запланированные публикации</h1>';
    echo '<table border="1" cellpadding="5">';
    echo '<tr><th>ID</th><th>Заголовок</th><th>Дата публикации</th></tr>';
    foreach ($posts as $post) {
        echo '<tr><td>' . $post->ID . '</td><td>' . esc_html($post->post_title) . '</td><td>' . $post->post_date . '</td></tr>';
    }
    echo '</table>';
}

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

Практические советы и рекомендации

Учитывайте работу WP-Cron

WP-Cron запускается при заходе на сайт, поэтому если трафик низкий, задачи могут запускаться с задержкой. Для важных задач лучше настроить системный cron на сервере, чтобы запускать wp-cron.php регулярно.

Тестируйте расписание на тестовом сайте

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

Используйте мета-поля для гибкости

Мета-поля позволяют добавлять дополнительные параметры к публикациям — например, тип расписания, приоритет, повторяемость. Это даёт возможность создавать сложные сценарии.

Комбинируйте плагины и код

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

Как создать свой shortcode для опросов в WordPress
17.11.2025
Как создать расписание публикаций в WordPress: полный гайд
30.11.2025
Как создать прогноз по результатам опросов в WordPress
01.01.2026
Как создать простой опрос в WordPress с помощью плагинов
07.11.2025
Отзывы с выбором оценки в WordPress: пошаговое руководство
13.12.2025