wp_get_schedules()
Получает поддерживаемые Cron интервалы времени.
Поддерживаемые интервалы времени - это зарегистрированные в WP интервалы, которые можно указывать в функциях планирования событий, таких как wp_schedule_event() - в аргументе $recurrence мы указываем: 'hourly', 'twicedaily' или 'daily'.
Плагины могут добавлять свои интервалы, используя фильтр cron_schedules. Это хук передает массив массивов с данными о каждом интервале (см. пример 1): названия ключей главного массива - это название интервалов, значение имеет массив с двумя элементами: 'interval' и 'display'.
interval - это значение в секундах, интервал через который задание должно повторяться. Так, hourly (каждый час) имеет значение - 3600 (60*60). Недельный интервал будет соответственно иметь значение 60*60*24*7 или 604800.
Хуки из функции
Возвращает
Массив. Двумерный ассоциативный массив данных.
Использование
$schedules = wp_get_schedules();
Примеры
#1 Пример того, что возвращает функция:
$rrr = wp_get_schedules(); echo print_r($rrr); /* получим: Array ( [hourly] => Array ( [interval] => 3600 [display] => Каждый час ) [twicedaily] => Array ( [interval] => 43200 [display] => Два раза в день ) [daily] => Array ( [interval] => 86400 [display] => Каждый день ) ) */
#2 Пример добавления нового интервала для плагина.
Чтобы добавить новый интервал для Cron в WordPress мы можем использовать фильтр cron_schedules. Добавим интервал повторения события: раз в неделю:
add_filter( 'cron_schedules', 'cron_add_weekly' );
function cron_add_weekly( $schedules ) {
// Adds once weekly to the existing schedules.
$schedules['weekly'] = array(
'interval' => WEEK_IN_SECONDS, // 604800 сек.
'display' => __( 'Once Weekly' )
);
return $schedules;
}
Список изменений
| С версии 2.1.0 | Введена. |
| С версии 5.4.0 | The 'weekly' schedule was added. |