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. |