cron_schedules
Позволяет добавить новый интервал времени для Крон задач (расписаний).
При добавлении Крон задачи, ей обычно указывается интервал времени, через который эта задача должна повторяться вновь и вновь. По умолчанию в WP таких интервалов всего три:
$schedules = array( 'hourly' => array( 'interval' => HOUR_IN_SECONDS, 'display' => __( 'Once Hourly' ) ), 'twicedaily' => array( 'interval' => 12 * HOUR_IN_SECONDS, 'display' => __( 'Twice Daily' ) ), 'daily' => array( 'interval' => DAY_IN_SECONDS, 'display' => __( 'Once Daily' ) ), );
Через этот фильтр можно расширить список интервалов, добавив свои интервалы, которые затем можно использовать при создании Крон задачи.
Как создавать свои задачи подробно описано в функции wp_schedule_event().
Использование
add_filter( 'cron_schedules', 'wp_kama_cron_schedules_filter' ); /** * Function for `cron_schedules` filter-hook. * * @param array $new_schedules An array of non-default cron schedules keyed by the schedule name. * * @return array */ function wp_kama_cron_schedules_filter( $new_schedules ){ // filter... return $new_schedules; }
- $new_schedules(массив)
- Массив с данными новых интервалов времени.
По умолчанию: array()
Примеры
#1 Добавление нового интервала для Cron
Добавим интервал события - раз в 5 минут:
// регистрируем пятиминутный интервал add_filter( 'cron_schedules', 'cron_add_five_min' ); function cron_add_five_min( $schedules ) { $schedules['five_min'] = array( 'interval' => 60 * 5, 'display' => 'Раз в 5 минут' ); return $schedules; }
Список изменений
С версии 2.1.0 | Введена. |
Где вызывается хук
cron_schedules
wp-includes/cron.php 1136
return array_merge( apply_filters( 'cron_schedules', array() ), $schedules );