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

説明

wp_next_scheduled() は、指定したフックの次回の実行予定時刻を返す関数です。

基本構文

wp_next_scheduled( string $hook, array $args = array() ): int|false

引数

  • $hook:フック名
  • $args:登録時の引数

戻り値

次回の実行時刻。予定がなければ false。

使い方(サンプル)

if ( ! wp_next_scheduled( 'my_daily_event' ) ) {
	wp_schedule_event( time(), 'daily', 'my_daily_event' );
}

注意点

  • 登録時の引数と一致しないと、見つかりません。

実務での使いどころ

  • 定期実行の処理が、すでに登録されているかを、確認するとき。
  • 登録済みなら、次の実行時刻を、取得するとき。

よくあるミスと対処

  • 登録時と、引数($args)が違い、見つからない。引数は、完全に、一致させる。
  • 戻り値は、実行予定のタイムスタンプ。見つからないときは false。true と比べている。

NG例

if ( wp_next_scheduled( 'my_task', array( 1 ) ) ) { // 登録時の引数と、一致していない
	// ...
}

OK例

if ( ! wp_next_scheduled( 'my_task' ) ) {
	wp_schedule_event( time(), 'hourly', 'my_task' );
}

使い分け早見表

関数 役割
wp_next_scheduled() 次の実行予定を、取得する
wp_schedule_event() 定期的に実行する処理を、登録する
wp_clear_scheduled_hook() 登録した処理を、解除する

関連項目

wp_schedule_event()、wp_clear_scheduled_hook()

公式リファレンス:wp_next_scheduled() | Function | WordPress Developer Resources

コメント

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