wp_clear_scheduled_hook() の使い方|説明・引数・注意点

説明

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

コメント

タイトルとURLをコピーしました