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.
(швидкість світла) | 50000 разів – 0.91 сек
(дуже швидко) |
PHP 7.0.19, WP 5.0.2
Хуки з функції
Повертає
Массив[]
. Двовимірний асоціативний масив даних.
Використання
$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 був added. |