wp_unschedule_event()
Удаляет из расписания указанное крон событие (задание). Для удаления нужно указать все данные: метку времени, имя хука и параметры.
Чтобы отменить событие, вы должны знать точное время в которое оно запланировано и аргументы, которые должны быть переданы функции.
Подробнее об удалении крон задач: WP Cron (планировщик) в WordPress
Крон задание добавляется через wp_schedule_event().
Хуки из функции
Возвращает
true|false|WP_Error
. Возвращает false, если неправильно указан параметр $timestamp.
Использование
wp_unschedule_event( $timestamp, $hook, $args, $wp_error );
- $timestamp(строка) (обязательный)
- Метка времени в формате UNIX (321546564) в которое должно наступить событие, которые мы хотим удалить.
- $hook(строка) (обязательный)
- Название хука к которому "цепляется" функция выполняющее действие указанное в $timestamp время.
- $args(массив)
- Массив аргументов, которые должны быть переданные функции.
По умолчанию: array() - $wp_error(true/false) (WP 5.7)
- true - вернет объект WP_Error при неудаче.
По умолчанию: false
Примеры
#1 Отменим крон-задачу
Предполагается, что функции прикрепленной к хуку никакие данные не передаются, поэтому $args указывать не обязательно.
$timestamp = wp_next_scheduled( 'my_schedule_hook' ); //> 1424106123 wp_unschedule_event( $timestamp, 'my_schedule_hook' );
1424106123
- время, когда задание должно быть выполнено.
#2 Отменим крон-задачу с параметрами
Если при регистрации крон-задачи ей были указаны параметр, то для удаления такой задачи обязательно нужно указать эти параметры, иначе событие не удалиться.
wp_unschedule_event( 1424106123, 'my_schedule_hook', [ 'id' => 654 ] );
Список изменений
С версии 2.1.0 | Введена. |
С версии 5.1.0 | Return value modified to boolean indicating success or failure, pre_unschedule_event filter added to short-circuit the function. |
С версии 5.7.0 | The $wp_error parameter was added. |