Системное задание 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');
}

Может ли кто-нибудь сказать мне, что я делаю не так с этим, потому что я не получаю электронные письма от этой функции. Я буду очень признателен вам за помощь.
Спасибо!

Author: cybmeta, 2017-10-03

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.

 0
Author: Annapurna, 2017-10-03 10:58:26