wp_unschedule_hook()
Видаляє з розкладу крон абсолютно всі крон завдання по вказаному хуку. Тут не має значення які параметри були вказані при реєстрації завдання.
Зручно використовувати плагіни, коли при деактивації потрібно очистити всі заплановані крон завдання.
Функція схожа на wp_unschedule_event() . Різниця між ними в тому, що ця функція видаляє всі cron події разом, потрібно лише вказати назву хука, до якого були прикріплені події, а wp_unschedule_event() видаляє тільки одну cron завдання і до того ж потрібно вказати параметри функції, що передаються, якщо вони були вказані під час реєстрації крон-завдання.
Функція майже ідентична wp_clear_scheduled_hook() , тільки простіше, тут потрібно вказати тільки назву хука і будуть видалені всі завдання повністю. Тоді як в wp_clear_scheduled_hook() потрібно вказати назву хука і аргументи функції, що передаються, якщо вони були вказані при реєстрації крон-завдання і тоді будуть видалені тільки відповідні крон завдання.
Докладніше про видалення крон завдань: WP Cron (планувальник) у WordPress
_set_cron_array()
Хуки з функції
Повертає
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 був added. |