説明
wp_clear_scheduled_hook() は、指定したフックのスケジュールを全て解除する関数です。
基本構文
wp_clear_scheduled_hook( string $hook, array $args = array(), bool $wp_error = false ): int|false|WP_Error
引数
$hook:フック名$args:引数$wp_error:失敗時にWP_Errorを返すか
戻り値
解除した数。失敗時は false。
使い方(サンプル)
wp_clear_scheduled_hook( 'my_daily_event' );
注意点
- プラグインの無効化・アンインストール時に実行します。
実務での使いどころ
- プラグインの無効化時に、登録した定期実行を、解除するとき。
- 設定の変更で、定期実行を、やめるとき。
よくあるミスと対処
- 登録時と、引数(
$args)が違うと、解除されない。引数なしで登録したなら、引数なしで解除する。 - 無効化の処理に、書いていない。プラグインを無効化しても、実行予定が、残り続ける。
NG例
// 無効化の処理がなく、実行予定が残る
OK例
register_deactivation_hook( __FILE__, function () {
wp_clear_scheduled_hook( 'my_daily_task' );
} );
使い分け早見表
| 関数 | 役割 |
|---|---|
wp_clear_scheduled_hook() |
フックの登録を、すべて解除する |
wp_schedule_event() |
定期的に実行する処理を、登録する |
wp_next_scheduled() |
次の実行予定を、取得する |
関連項目
wp_schedule_event()、wp_next_scheduled()
公式リファレンス:wp_clear_scheduled_hook() | Function | WordPress Developer Resources

コメント