wp_unschedule_hook()
Удаляет из расписания крон абсолютно все крон задачи по указанному хуку. Тут не важно какие параметры были указаны при регистрации задачи.
Удобно использовать плагинами, когда при деактивации нужно очистить все запланированные крон задачи.
Функция похожа на wp_unschedule_event(). Разница между ними в том, что эта функция удаляет все cron события разом, нужно лишь указать название хука, к которому были прикреплены события, а wp_unschedule_event() удаляет только одну cron задачу и к тому же нужно указать параметры передаваемые функции, если они были указаны при регистрации крон-задачи.
Функция почти идентична wp_clear_scheduled_hook(), только проще, тут нужно указать только называние хука и будут удалены все задания подчистую. Тогда как в wp_clear_scheduled_hook() нужно указать название хука и аргументы передаваемые функции, если они были указаны при регистрации крон-задачи и тогда будут удалены только соответствующие крон задачи.
Подробнее об удалении крон задач: WP Cron (планировщик) в WordPress
Хуки из функции
Возвращает
int|false|WP_Error
.
Число
— при успешном выполнении, показывает количество отмененных событий.0
— указывает, что события не были зарегистрированы для хука.false
— означает что отмена (удаление из расписания) провалилась.
Использование
wp_unschedule_hook( $hook, $wp_error );
- $hook(строка) (обязательный)
- Название события (хука) выполнение которого нужно убрать из расписания крона.
- $wp_error(true/false) (WP 5.7)
- true - вернет объект WP_Error при неудаче.
По умолчанию: false
Примеры
#1 Отменим все крон события у хука
wp_unschedule_hook( 'my_hourly_event' );
#2 Отменим все крон события, при деактивации плагина
// при деактивации плагина, отменяем ранее созданную задачу register_deactivation_hook( __FILE__, 'my_deactivation'); function my_deactivation() { wp_unschedule_hook( 'my_hourly_event' ); } // добавим задачу при активации плагина register_activation_hook( __FILE__, 'my_activation' ); function my_activation() { // удалим на всякий случай все такие же задачи cron, чтобы добавить новые с "чистого листа" // это может понадобиться, если до этого подключалась такая же задача неправильно (без проверки что она уже есть) wp_unschedule_hook( 'my_hourly_event' ); // добавим новую cron задачу wp_schedule_event( time(), 'hourly', 'my_hourly_event'); }
Список изменений
С версии 4.9.0 | Введена. |
С версии 5.1.0 | Return value added to indicate success or failure. |
С версии 5.7.0 | The $wp_error parameter was added. |