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

Опубликовано: 2021-05-14
работа cron вордпресс
Подписывайтесь на @Cloudways

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

Ответ прост: используйте любой из методов управления 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.

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

Управляемый хостинг WordPress от 10 долларов в месяц

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

3-ДНЕВНАЯ БЕСПЛАТНАЯ ПРОБНАЯ ВЕРСИЯ

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

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

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

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

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

И второй способ — с WordPress CLI.

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

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

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

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

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

события cron

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

Затем вам нужно нажать События Cron , и вы увидите список событий cron, которые выполняются в вашем приложении WordPress.

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

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

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

Второй столбец Arguments просто содержит аргументы, которые передаются функциям ловушек.

Третий столбец показывает, когда это задание 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. Вы заметите, что в столбце действий будет указано « Нет » (ошибка). Это потому, что вы не определили никаких действий для этого задания cron. Поэтому вам нужно написать несколько строк кода в файле functions.php темы и добавить действие.

ни одна ошибка

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

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

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

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

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

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

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

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

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

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

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

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

cron работа WP CLI

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

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

cron работа WP CLI

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

Как настроить реальную работу Cron

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

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

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

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

Код:

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

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

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

Шаг 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. Я обсудил два метода управления заданиями WordPress cron; один через плагин, а другой через WP-CLI. Я также обсудил, как настроить настоящую работу cron на реальном сервере.

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