wp_get_scheduled_event()
Отримує заплановане wp-cron завдання – дані вказаного завдання як об’єкта.
Працює на основі:
_get_cron_array()
_get_cron_array()
Хуки з функції
Повертає
Объект|false
. Об’єкт події. False, якщо події немає.
Використання
wp_get_scheduled_event($hook, $args, $timestamp);
-
$hook
(рядок) (обов’язковий) - Назва завдання – WP хук, який буде виконуватися.
-
$args
(масив) -
Параметри, які були вказані під час реєстрації події у функції
wp_schedule_event() . Вони потрібні, щоб достеменно зрозуміти, яке завдання ви хочете отримати – для однозначної ідентифікації завдання.
За замовчуванням: array() -
$timestamp
(int|null) Тимчасова позначка події в Unix (UTC).
Якщо вказати цей параметр , буде отримано завдання із зазначеною часовою міткою.
Якщо не вказати , буде отримано наступне заплановане завдання для вказаної в $hook події.
Типово: null
Приклади
#1 Реєстрація подій з перевіркою відповідності cron розкладу.
При першому запуску код реєструє завдання cron.
При повторному запуску перевіряє, чи відповідає інтервал запуску зареєстрованої події, інтервалу часу у вихідному масиві. Якщо інтервал запуску в масиві змінився, код перереєструє подію з новим інтервалом.
$events = ['my_event_name' => 'min']; foreach ( $events as $event_hook => $event_time ) { // отримаємо cron завдання $cron_event = wp_get_scheduled_event( $event_hook ); // Перевіримо, що завдання не заплановане або має інший інтервал if ( ( false === $cron_event && '' !== $event_hook ) || ( is_object($cron_event) && $cron_event->schedule !== $event_time ) ) { // видалимо про всяк випадок такі самі завдання cron, щоб додати нові з "чистого листа" wp_clear_scheduled_hook ($ event_hook); // додамо нове cron завдання wp_schedule_event(time(), $event_time, $event_hook); } }
Перевірка роботи скрипта вище, приклад об’єкта, що повертається.
$event_hook = 'my_event_name'; $result = wp_get_scheduled_event( $event_hook ); print_r($result);
Результат:
stdClass Object ( [hook] => my_event_name [timestamp] => 1636884508 [schedule] => min [args] => Array ( ) [interval] => 60 )
список змін
З версії 5.1.0 | Введено. |