Как работать с WP-CRON в WordPress

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

Немного о демоне CRON

Для чего используют CRON — демон cron используют чаще всего для повторной обработки некоторых команд на сайте, я использовал для проверки внешнего API, из которого мой плагин вытаскивал данные. Данные мне необходимо было проверят раз в час, а если найдены новые данные, то добавлять их к себе на сайт.

Простой пример работы CRON на WordPress

Итак, вот небольшой код, который делает проверку времени и если время вышло, то срабатывает специальный Хук.

Этот код может срабатывать как в файле functions.php вашей темы, так и в созданном вами плагине.

То что находиться в функции myprefix_function_to_run() будет повторяться каждые 2 минуты, или точнее каждые 120 секунд, в нашем случаи это отправка тестового письма. Для проверки не забудьте сменить текст ваш-email@wp-admin.com.ua на тот, на котором вы будете получать письма каждые 2 минуты.

Для тех, кто ленивый есть вариант попроще и похуже, похуже потому, что при разработке премиум тем или плагинов вам придется дополнительно делать автоматическую установку при помощи плагина TGM Plugin Activation.

Мы немного отступили от темы разговора, для того чтобы не прописывать код для срабатывания автоматического выполнения ваших функций (код wp-cron, который мы разобрали выше). Чтобы не разбираться в коде который я показал выше, могу посоветовать плагин WP Crontrol (WP-Cron Events), для работы которого вам будет необходимо только добавить функцию и хук в коде плагина или файле functions.php.

После добавления хука и установки плагина, активируем его, далее переходим в панели администратора в пункт Инструменты -> Control.

wordpress wp coontrol plugin

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

Для добавления нашего процесса (хука myprefix_my_cron_action), нам нужно будет заполнить поля, как показано на картинке ниже.

wordpress cron control - cron в wordpressРассмотрим порядок действий

  1. Hook name — указываем название экшена, который был создан ранее myprefix_my_cron_action.
  2. Next run — указываем, когда нужно запустить выполнение cron.
  3. Event schedule — указываем, как часто нужно запускать событие cron.
  4. После заполнения формы добавляем событие.

После добавления, ваше событие появится в списке всех событий.

Показать список событий cron

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

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

Купить хостинг WordPress

Читайте также:

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

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

Шаблоны для WordPress
Самый лучший хостинг в Украине
Стабильный хостинг для Drupal