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 1139
return array_merge( apply_filters( 'cron_schedules', array() ), $schedules );