WordPress лаборатория
Навигация
  • Главная
  • Как создать
    • Персональный Блог
    • Полноценный Сайт
    • Интернет-магазин
  • Блог
    • Инструкции
    • Электронная коммерция
    • Плагины
    • Заметки
  • Инструменты
    • Шаблон плагина
  • Премиум
    • Купец – WP + Woo
Присоединяйся
WordPress лаборатория
WordPress лаборатория
  • Главная
  • Как создать
    • Персональный Блог
    • Полноценный Сайт
    • Интернет-магазин
  • Блог
    • Инструкции
    • Электронная коммерция
    • Плагины
    • Заметки
  • Инструменты
    • Шаблон плагина
  • Премиум
    • Купец – WP + Woo
Профессиональная помощь экспертов
Мы можем помочь с любой задачей, так или иначе связанной с WordPress!
Создайте заявку
Бесплатная оценка стоимости без обязательств.

Создать заявку
🧒 Мой Аккаунт

Главная → Блог → Инструкции и руководства по WordPress для чайников

WordPress Cron – Планировщик заданий

  • 21 декабря, 2020
WordPress Cron - Планировщик заданий
Total
0
Репостов
0
0
0
0
0

Cron – это стандартная утилита UNIX для выполнения запланированных задач в определенное время, дату или через интервал.

Однако WordPress Cron немного отличается от стандартной утилиты, и поэтому, прежде чем углубляться в действия и процесс, вам необходимо понять, что такое Cron в WordPress и как он будет работать на вашем сайте.

Содержание статьи
  1. Что такое WordPress Cron?
  2. Управление Cron задачами в WordPress
  3. Создание Cron задач в WordPress (WP-Cron)
  4. Одноразовые Cron задачи
  5. Пример из реальной практики

Что такое WordPress Cron?

У WordPress есть своей Сron для работы с такими задачам, как проверка обновлений, планирование публикации, очистка корзины и многие другие. Все задания WordPress Cron обрабатываются через WP-Cron.

По умолчанию WordPress поддерживает следующие временные интервалы:

  1. Каждый час
  2. Дважды в день
  3. Ежедневно
  4. Еженедельно

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

/******************************************
 * Новый, тридцатисекундный интервал для WP-Cron
 *****************************************/

// Добавляем фильтр
add_filter( 'cron_schedules', 'wplb_cron_30s' );

// Описываем функцию
function wplb_cron_30s( $schedules ) { 
    $schedules['30_seconds'] = array(
        'interval' => 30,
        'display'  => esc_html__( 'Каждые 30 секунд' )
    );
    return $schedules;
}


Управление Cron задачами в WordPress

Для мониторинга, отладки и управления запланированными действиями в WordPress можно использовать командную строку (WordPress CLI).

А для подавляющего большинства пользователей и разработчиков будет достаточно плагина:

WP Crontrol
Плагин для работы с WP-Cron

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


Создание Cron задач в WordPress (WP-Cron)

Самый надежный и простой метод:

// Описываем функцию деактивации
function wplb_deactivate() {
    // Убираем задачу 'wplb_cron'
    wp_clear_scheduled_hook( 'wplb_cron' );
}

// Добавляем основное событие.
add_action('init', function() {

    // Создаём событие нашего планировщика
    add_action( 'wplb_cron', 'wplb_run_cron' );

    // Регистрируем событе на случай дективации
    register_deactivation_hook( __FILE__, 'wplb_deactivate' );

    // Добавляем наше событие в WP-Cron 
    if (! wp_next_scheduled ( 'wplb_cron' )) {
        wp_schedule_event( time(), '30_seconds', 'wplb_cron' );
    }

});

// Описываем функцию для планировщика
function wplb_run_cron() {
    // Функция будет выполняться 1 раз в тридцать секунд (Новый, тридцатисекундный интервал для WP-Cron мы добавили выше).
}

Человеко-понятное описание кода ?

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

Если подумать, то всё достаточно просто, а если вы установили плагин WP Control, то вы увидите:

WordPress Cron (WP-Cron) – Планировщик заданий
WordPress Cron (WP-Cron) – Планировщик заданий

Одноразовые Cron задачи

В WordPress так же можно добавить событие, которое сработает всего один раз.

// Создаём событие wplb_event
add_action( 'wplb_event', 'wplb_in_an_hour', 10, 3 );

// Описываем функцию для событие wplb_event
function wplb_in_an_hour( $arg1, $arg2, $arg3 ) {
    // Описание функции
}

// Добавляем событие wplb_event в планировщик (запустится через 1800 секунд от текущего времяни)
wp_schedule_single_event( time() + 1800, 'wplb_event', array( $arg1, $arg2, $arg3 ) );

Сами по себе одноразовые крон задачи используются редко, но стоит уточнить, что их очень удобно использовать в заданиях, запускаемых с определенным интервалом.


Пример из реальной практики

Вводные данные:

  • Существует огромная база данных, в которую мед. учреждения по всей стране (США) вносят данные о требуемом в данный момент персонале.
  • Есть API доступ к базе. Данные обновляются в реальном времени.
  • У клиента есть сайт и раз в неделю ему приходилось выгружать XML документ и через WP All Import импортировать на сайт. Процесс занимал несколько часов часто прерывался из-за большого объема данных.

Задача:

Автоматизировать процесс.

Решение:

Использование WP-Cron, как ежедневное запланированное задание, которое в свою очередь создавало несколько одноразовых заданий (запускались по очереди) в зависимости от объема новых, полученных через API, данных.


Мы постарались изложить всю информацию максимально доступно, но если у вас все равно остались вопросы, вы можете смело их нам задать, и мы обязательно поможем!

Спасибо.

Поделиться 0
Твитнуть 0
Похожие Темы
  • WordPress для разработчиков
Читайте так же
Как создать сайт на WordPress
Читать

Как создать сайт на WordPress с нуля – Пошаговая инструкция (2023)

Пошаговая настройка WordPress сайта
Читать

Пошаговая настройка сайта на WordPress после установки. Методы правильной персонализации

Безопасность WordPress
Читать

Безопасность WordPress – 19 шагов которые обязательно нужно пройти в 2023 году, чтобы спасть спокойно

Как создать блог на WordPress ПРАВИЛЬНЫМ ПУТЕМ за 7 простых шагов
Читать

Как создать блог на WordPress за 6 простых шагов. Руководство (2023)

Сброс постоянных ссылок на всех сайтах в сети WordPress (Multisite)
Читать

Сброс постоянных ссылок на всех сайтах в сети WordPress (Multisite)

Ajax в WordPress - пособие по фоновой обработке данных
Читать

Ajax в WordPress – пособие по фоновой обработке данных

Что такое рубрики в WordPress, как их добавить и настроить
Читать

Что такое рубрики в WordPress, как их добавить, настроить и что с ними можно делать

Полное руководство по xmlrpc.php в WordPress (что это такое, риски для безопасности и как отключить)
Читать

Руководство по xmlrpc.php в WordPress (что это такое, риски и как отключить)

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Что еще почитать?
  • Лучшие темы и шаблоны WordPress

    Лучшие и бесплатные шаблоны WordPress 2023 года (выбор экспертов)

    Читать
  • Как создать плагин для WordPress

    Как создать плагин для WordPress – инструкция и мировая практика

    Читать
  • WordPress.com или WordPress.org – что лучше?

    WordPress.com или WordPress.org – что лучше? (Сравнительная таблица)

    Читать
  • WordPress шаблоны для интернет-магазина на базе WooCommerce

    WordPress шаблоны для интернет магазина на базе WooCommerce: Честный рейтинг 2023

    Читать
  • Ajax в WordPress - пособие по фоновой обработке данных

    Ajax в WordPress – пособие по фоновой обработке данных

    Читать
Инструменты разработчика
  • Шаблон WordPress плагина (генератор)
Нужна помощь?
Мы можем помочь с любой задачей, так или иначе связанной с WordPress!
Создайте заявку
Бесплатная оценка стоимости без обязательств.

Создать заявку
WordPress лаборатория - Еще один сайт на WP 💛
  • Обратная cвязь
  • Оплата и возврат
  • Пользовательское соглашение
  • Договор-оферта
  • Политика конфиденциальности

Введите ключевое слово и нажмите Ввод