Как управлять заданиями WordPress Cron

Опубликовано: 2021-05-14
WordPress cron
Следуйте @Cloudways

Многие разработчики WordPress, особенно новички, часто задаются вопросом «что такое WordPress cron» и «как управлять заданиями cron в WordPress?» близкая секунда.

Ответ прост: используйте любой из методов управления заданиями cron WordPress, которые я опишу в этой статье.

  • Что такое WordPress Cron?
  • Как управлять работой WordPress Cron
    • Как управлять заданиями WordPress Cron с помощью плагина
      • Шаг 1. Установите плагин WP Control
      • Шаг 2. Просмотр и понимание событий Cron
      • Шаг 3: отредактируйте событие Cron
      • Шаг 4: Добавление настраиваемого временного интервала
      • Шаг 5: Добавление нового события Cron
    • Как управлять заданиями WordPress Cron с помощью WP CLI
  • Как настроить настоящую работу Cron

Cron - это стандартная утилита UNIX для планирования выполнения задачи (сценария или команды) в определенное время, дату или интервал. Задача, которую он собирается выполнить, называется заданием cron. Как вы можете догадаться, цель cron - автоматизировать повторяющиеся задачи, чтобы вы могли более продуктивно использовать свое время.

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

Что такое WordPress Cron?

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

Хотя название (и основная идея) происходит от UNIX cron, WordPress cron не работает так и использует интервалы для планирования задач. По умолчанию WordPress предоставляет следующие временные интервалы: ежечасно, дважды в день, ежедневно и еженедельно. Здесь временные задачи зависят от пользователей, посещающих ваш сайт, а это означает, что WordPress cron будет выполняться только в том случае, если пользователь посещает ваш сайт.

Другими словами, WordPress cron запускается при загрузке страницы. Иногда это не так надежно, и поэтому многие пользователи предпочитают задание cron на уровне сервера заданию WP-Cron.

В этой статье я собираюсь показать вам, как управлять заданиями cron WordPress и настроить настоящее задание cron для вашего сайта WordPress.

Как управлять заданиями WordPress Cron

Есть много способов настроить и управлять заданиями cron WordPress, но я покажу вам два популярных метода.

Первый использует плагин управления cron, такой как WP Crontrol, который позволяет добавлять, изменять и управлять заданиями cron WordPress прямо с панели инструментов WP. Вы также можете создать задание cron, создать хуки и функции и определить собственные временные интервалы для задач.

И второй способ - с помощью WordPress CLI.

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

Я буду использовать плагин WP Crontrol, который позволяет вам просматривать и контролировать WordPress cron для вашего приложения WordPress. Это популярный плагин, используемый для обработки заданий WP cron и имеющий более 100 000 активных установок.
Это самый простой метод управления заданиями cron WordPress, и вы можете быстро просматривать, редактировать, создавать, удалять и делать гораздо больше с событиями WordPress cron.

Итак, приступим!

Шаг 1. Установите плагин WP Control

Как и любой другой плагин, вам необходимо установить WP Crontrol из репозитория плагинов и активировать его. После его установки вы заметите, что на вкладке « Инструменты » появилась новая опция «События Cron».

cron события

Шаг 2. Просмотр и понимание событий Cron

Затем вам нужно щелкнуть Cron Events, и вы увидите список событий cron, запущенных в вашем приложении WordPress.

список событий cron

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

Вы также найдете полезную информацию об этих заданиях cron и быстро определите, какое задание cron используется для каких целей, и многое другое. В первом столбце Hook показывает имя ловушки, используемой ядром WordPress или любым плагином. Например, префикс « wp » просто показывает, что это cron ядра WordPress. Вы также заметите, что нет возможности удалить эти события cron, однако вы можете использовать параметры редактирования и запуска . Точно так же для ваших плагинов вы заметите, что используются другие префиксы (например, для WooCommerce, «wc» или «woocommerce»).

Второй столбец « Аргументы» просто содержит аргументы, которые передаются функциям-перехватчикам.

Третий столбец показывает, когда это задание cron будет запущено в следующий раз.

Четвертый столбец Action показывает, какое действие собирается выполнить cron («функция» задания cron).
Последний столбец определяет время повторения заданий cron. Это в основном временной интервал для запланированной задачи.

Шаг 3: отредактируйте событие Cron

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

Перейти имя и нажмите крючок отредактирует. Появится новый раздел « Редактировать событие Cron », где вы увидите разные поля. В моем случае я отредактировал хук «wp_privacy_delete_old_export_files». Затем я собираюсь изменить периодичность этого задания cron на «Каждые пятнадцать минут».

редактировать события cron

Шаг 4: Добавление настраиваемого временного интервала

Далее я покажу вам, как добавить настраиваемый временной интервал для событий cron. Для этого щелкните вкладку « Расписание Cron », и появится новый экран, на котором вы увидите подробную информацию о запланированных временных интервалах. Затем прокрутите вниз, где вы увидите « Добавить расписание Cron ». Заполните поля и нажмите « Добавить расписание Cron» .

добавить расписание cron

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

Теперь вы можете отредактировать событие cron и заменить его своим собственным интервалом.

редактировать событие cron

Шаг 5: Добавление нового события Cron

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

Сначала нажмите Добавить событие Cron, и вы попадете в раздел добавления cron. Затем просто дайте имя ловушки по своему усмотрению (должно следовать обычному соглашению об именах PHP и без пробелов).

Затем добавьте аргументы (это необязательно), и в моем случае это пусто. Затем выберите любой вариант и укажите время в поле « Следующий запуск» . Наконец, выберите время повторения (время расписания) для вашего нового cron и нажмите « Добавить событие» .

добавить событие cron

Если у вас есть какие-либо вопросы по этому поводу, вы можете проверить настройки любого запущенного задания cron из своих событий cron.

После добавления нового задания cron перейдите на вкладку событий cron и проверьте вновь созданный cron. Вы заметите, что в столбце действий будет отображаться None (ошибка). Это потому, что вы не определили никаких действий для этого задания cron. Поэтому вам нужно написать несколько строк кода в файле functions.php темы и добавить действие.

нет ошибки

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

Давайте откроем файл и добавим следующие строки кода сразу после <? Php :

 add_action ('cloudways_new_cron', 'cw_function');
function cw_function () {
wp_mail ('[электронная почта защищена]', 'Cloudways Cron', 'Cloudways - управляемый облачный хостинг!');
}

Не забудьте заменить мой адрес электронной почты своим.

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

Затем давайте проверим почтовый ящик и посмотрим, получаем ли мы сообщение.

электронная почта cron

Тада! Готово, и мы успешно добавили новое событие cron.

Как управлять заданиями WordPress Cron с помощью WP CLI

Вы также можете просматривать и управлять всеми своими заданиями cron в WordPress из интерфейса командной строки WordPress. В Cloudways вам необходимо запустить терминал и войти в систему с учетными данными сервера.

Затем укажите путь к вашему приложению WordPress. В моем случае URL-адрес был:

 cd-приложения / urrghmpqks / public_html / 

cron job WP CLI

Далее вам нужно выполнить эту команду:

 список событий wp cron 

cron job WP CLI

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

Как настроить настоящую работу Cron

Теперь вы знаете, что такое работа cron в WordPress и как она работает. Что делать, если вы хотите заменить его настоящим заданием cron по какой-либо причине, например, из-за низкого трафика, важных задач, которые необходимо запускать в определенное время, чрезмерных DDoS-атак или большого времени загрузки страницы.

Итак, приступим!

Шаг 1. Откройте и отредактируйте файл wp-config.php

Во-первых, вам нужно открыть файл wp-config с помощью FTP-клиента, такого как FileZilla, или клиента SSH, например puTTY. После этого отредактируйте файл и поместите следующую строку кода перед строкой, где написано / * Вот и все, прекратите редактирование! Удачного ведения блога. * /

Код:

 определить ('DISABLE_WP_CRON', истина); 

редактировать файл конфигурации wp

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

Управляйте реальными заданиями в Cron через платформу Cloudways

Начните с 3-дневной бесплатной пробной версии

ПОПРОБУЙ СЕЙЧАС

Шаг 2: Добавление нового задания Cron на сервер

Затем войдите в свою платформу Cloudways, затем перейдите в панель управления приложениями > Управление заданиями Cron > раздел Дополнительно .

добавление нового задания cron

Затем добавьте следующую команду и нажмите Сохранить изменения:
*/5 * * * * wget -q -O - 'https://wordpress-413270-1299955.cloudwaysapps.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

расширенная вкладка cron

В приведенной выше команде я сначала определил интервал в пять минут для задания cron. Вы можете использовать этот сайт, чтобы проверить выражение расписания. В моем случае */5 * * * * - это интервальное выражение.

Поздравляю! Вы успешно добавили настоящую cron-работу.

Заключительные слова!

Надеюсь, эта статья помогла вам понять, как работает WordPress cron. Я обсуждал два метода управления заданиями cron WordPress; один через плагин, а другой через WP-CLI. Я также обсудил, как настроить реальное задание cron на живом сервере.

Если у вас есть какие-либо вопросы, дайте мне знать в разделе комментариев ниже.