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

Опубликовано: 2022-05-11

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

У WordPress есть собственный Cron, известный как WP-Cron. Основная цель WordPress Cron — выполнение основных задач WordPress. В этой статье мы расскажем, что такое WP-Cron, как просматривать задания WordPress Cron и управлять ими, а также как отключить WP-Cron на вашем веб-сайте.

Оглавление

Что такое WordPress Cron
Как управлять заданиями Cron
Просмотр событий WordPress Cron
Редактирование событий Cron
Добавление нового события Cron
Расписания Cron
Отключение Wp Cron
Вывод

Что такое WordPress Cron?

WordPress Cron (WP-Cron) относится к тому, как WordPress упрощает планирование задач. Эти задачи называются заданиями Cron. Примеры заданий Cron включают в себя: публикацию запланированных сообщений, выполнение резервных копий и проверку обновлений.

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

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

С помощью плагина WP Crontrol можно просматривать, добавлять и изменять задания Cron.

Чтобы использовать плагин, перейдите в раздел «Плагины»> «Добавить новый» на панели инструментов WordPress и найдите плагин WP Crontrol.

Далее устанавливаем и активируем плагин.

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

Просмотр событий WordPress Cron

Чтобы просмотреть события WordPress Cron, перейдите в раздел «Инструменты» > «События Cron» на панели управления WordPress.

Здесь вы можете просмотреть все события, запланированные на вашем веб-сайте.

События сгруппированы по разным категориям:

  • События без действия
  • Основные события WordPress
  • Пользовательские события

В первом столбце вы можете просмотреть хуки, которые используются для запуска события Cron. Имя хука дает представление о том, что делает запланированное событие. Хуки с префиксом wp — это основные хуки событий WordPress. Эти хуки не могут быть удалены.

Во втором столбце находится раздел «Аргументы». Этот столбец содержит аргументы, которые передаются хуку. Если хук не содержит аргумента, то отображается заполнитель «Нет».

Третий столбец — «Следующий запуск». Здесь отображается время следующего запуска события Cron, а также временной интервал до следующего запуска события.

Четвертая колонка – «Действие». Здесь у нас есть действия, которые будут выполнять хуки Cron.

«Повторение» — последний столбец. Он содержит определение того, когда событие повторяется или событие повторяется.

Редактирование событий Cron

Чтобы отредактировать событие Cron, наведите указатель мыши на событие Cron и щелкните ссылку редактирования события.

Затем вы будете перенаправлены в раздел «Редактировать событие Cron». Здесь вы можете настроить событие по своему вкусу.

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

Создайте новое событие Cron, нажав кнопку «Добавить новое» в разделе «События Cron».

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

В этом разделе укажите тип события (будь то стандартное событие или событие PHP Cron).

Далее укажите имя хука. Имя хука должно соответствовать соглашению об именовании WordPress. В нашем случае здесь мы добавим имя хука «wpb_publish_post».

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

В разделе «Следующий запуск» укажите время запуска события, а в разделе «Повторение» укажите, как часто будет запускаться событие.

Ниже приведен пример иллюстрации деталей, которые мы укажем в нашем случае здесь:

После добавления события у нас будет представление о событии из списка событий, как показано ниже:

Теперь добавьте код PHP, который определяет, что делает хук, в файл functions.php вашей темы.

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

 function publish_post_func(){ //Assign your Post ID $post = 717; //Run the publish post function $result = wp_publish_post($post); } add_action( 'wpb_publish_post', 'publish_post_func' );

Что будет делать этот код, так это опубликовать один из наших постов с идентификатором поста 717. Вы можете использовать идентификатор поста по своему усмотрению на основе доступных постов на вашем веб-сайте.

Обратите внимание, что повторение события, которое мы указали, — «Неповторяющееся», поскольку вы можете опубликовать сообщение только один раз.

Как только наступит установленное время «Следующий запуск», пост будет опубликован. Ниже приведен скринкаст по этому поводу:

Расписания Cron

Плагин WP Crontrol содержит расписания Cron по умолчанию. Их можно определить в разделе «Настройки» > «Расписания Cron» на панели инструментов WordPress. Если у вас есть плагины, добавляющие пользовательские расписания, они также будут отражены в этом разделе. Вы также можете добавить свои собственные расписания в разделе. Ниже приведен пример иллюстрации к этому разделу:

Если вы хотите добавить расписания вручную с помощью кода, это также возможно. Ниже приведен пример кода для добавления интервала Cron в шестьдесят секунд. Вы можете добавить код в файл function.php вашей темы:

 add_filter( 'cron_schedules', 'cron_interval' ); function cron_interval( $schedules ) { $schedules['sixty_seconds'] = array( 'interval' => 60, 'display' => esc_html__( 'Every Sixty Seconds' ), ); return $schedules; }

После добавления вы увидите расписание в списке Cron Schedules:

Отключение Wp Cron

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

Чтобы отключить WordPress Cron по умолчанию, вам необходимо выполнить следующее:

Доступ к файлам вашего сайта через FTP. Вы можете сделать это с помощью программного обеспечения FTP, такого как Filezilla, или панели, такой как cPanel, предоставленной вашим хостом.

Перейдите в корень ваших файлов WordPress и выберите для редактирования файл wp-config.php.

В файле добавьте приведенный ниже код чуть выше строки «/* Вот и все, прекратите редактирование! Удачной публикации. */”.

 define('DISABLE_WP_CRON', true);

Ниже приведен пример скриншота по этому поводу:

Как только это будет сделано, сохраните изменения.

Вывод

С WordPress Cron вы можете легко планировать события Cron. В этой статье мы рассмотрели, что такое задания Cron, как управлять ими с помощью плагина WP Crontrol, а также как отключить WordPress Cron.

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