Системное задание Cron не запускается
Я новичок в разработке WordPress и впервые использую задание cron. У меня возникли проблемы с работой cron, которая не увольняется. Вот все шаги, которые я предпринял для достижения этой цели. Я поместил эту строку в свой файл wp-конфигурации
define('DISABLE_WP_CRON', true);
Затем я настроил задание cron в своей панели управления с помощью этой команды.
wget -q -O - http://mywebsite.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
Я выбираю интервал каждые 30 минут.
Но теперь задание cron не запускает мою функцию WordPress. Вот мой код, который я использую в functions.php моей темы.
wp_schedule_event(time(), 'hourly', 'my_hourly_event');
add_action('my_hourly_event', 'do_this_hourly');
function do_this_hourly() {
wp_mail( '[email protected]', 'Automatic email', 'Automatic scheduled email from WordPress to test cron');
}
Может ли кто-нибудь сказать мне, что я делаю не так с этим, потому что я не получаю электронные письма от этой функции. Я буду очень признателен вам за помощь.
Спасибо!
1 answers
Сначала вам нужно создать интервал в 30 минут. Использовать фильтр:
add_filter('cron_schedules','my_cron_schedules', 999 );
function my_cron_schedules($schedules) {
$schedules['thirty_min'] = array(
'interval' => 1800, // Every 30 mins
'display' => __( 'Every 30 mins' ),
);
return $schedules;
}
Затем вам нужно выполнить запланированное задание:
wp_schedule_event( time(), 'thirty_min', 'your_event_hook' );
Затем добавьте действие и функцию обратного вызова:
add_action('your_event_hook', 'do_this_hourly');
function do_this_hourly() {
wp_mail( '[email protected]', 'Automatic email', 'Automatic scheduled email from WordPress to test cron');
}
Вам нужно define('DISABLE_WP_CRON', true);
в вашем wp-config.php
Затем вы можете запланировать свой системный cron.