Action Scheduler は、フックを将来のある時点で1つ以上の機会に実行するようにスケジュールするためのさまざまな機能を提供します。
スケジューリング関数を理解するには、フックがトリガーされるときに遅延して繰り返す機能を追加する WordPress の do_action()
関数の拡張機能と考えると役立ちます。
WP-Cron APIs vs. Action Scheduler APIs
Action Scheduler API 関数は、WordPress WP-Cron API 関数をミラーリングするように設計されています。
関数は同様の値を返し、対応する WP-Cron と同様の引数を受け入れます。 注目すべき違いは次のとおりです。
as_schedule_single_action()
とas_schedule_recurring_action()
は、イベントがスケジュールされたかどうかを示すブール値ではなく、スケジュールされたアクションの ID を返します。as_schedule_recurring_action()
は、任意の文字列ではなく、繰り返し間隔として秒単位の間隔を取りますas_schedule_single_action()
とas_schedule_recurring_action()
は、$group
パラメーターを受け入れて、1つのプラグインのさまざまなアクションをグループ化できます。wp_
接頭辞はas_
に置き換えられ、イベントという用語はアクションに置き換えられます。
API 関数の可用性
「使用法 – ロード順序」セクションで説明したように、Action Scheduler は 'init'
フックで優先度1
で初期化されます。API 関数はこれより前に読み込まれ、呼び出すことができますが、 'init'
が1優先されるまで呼び出さないでください。 データストアなどの各コンポーネントはまだ初期化されていないためです。
'init'
フックの前に優先度 1
の Action Scheduler API 関数を使用しないでください。使用すると、データが誤った場所に格納されるなど、予期しない結果が生じる可能性があります。
Action Scheduler は、データストアが初期化されたことを確認するためにフックで使用する Action_Scheduler::is_initialized()
を提供します。
関数リファレンス / as_enqueue_async_action()
説明
アクションをキューに入れて、できるだけ早く1回実行します。
使用法
as_enqueue_async_action( $hook, $args, $group );
パラメーター
- $hook(文字列)(必須)アクションフックの名前。
- $args(配列)フックがトリガーされたときにコールバックに渡す引数。 デフォルト:array()
- $group(文字列)このジョブを割り当てるグループ。 デフォルト: ”
戻り値
(整数)アクションのID。
関数リファレンス / as_schedule_single_action()
説明
将来の定義された時点で1回実行するアクションをスケジュールします。
使用法
as_schedule_single_action( $timestamp, $hook, $args, $group );
パラメーター
- $timestamp(整数)(必須)アクションを実行する日付を表す Unix タイムスタンプ。
- $hook(文字列)(必須)アクションフックの名前。
- $args(配列)フックがトリガーされたときにコールバックに渡す引数。 デフォルト:array()
- $group(文字列)このジョブを割り当てるグループ。 デフォルト: ”
戻り値
(整数)アクションの ID 。
関数リファレンス / as_schedule_recurring_action
()
as_schedule_recurring_action
()説明
指定された間隔(秒単位)で繰り返し実行するアクションをスケジュールします。
使用法
as_schedule_recurring_action( $timestamp, $interval_in_seconds, $hook, $args, $group );
パラメーター
- $timestamp(整数)(必須)アクションを実行する日付を表すUnixタイムスタンプ。
- $interval_in_seconds(整数)(必須)実行間で待機する時間。
- $hook(文字列)(必須)アクションフックの名前。
- $args(配列)フックがトリガーされたときにコールバックに渡す引数。 デフォルト:array()
- $group(文字列)このジョブを割り当てるグループ。 デフォルト: ”
戻り値
(整数)アクションの ID 。
関数リファレンス / as_schedule_cron_action
()
as_schedule_cron_action
()説明
cron のようなスケジュールで繰り返されるアクションをスケジュールします。
使用法
as_schedule_cron_action( $timestamp, $schedule, $hook, $args, $group );
パラメーター
- $timestamp(整数)(必須)アクションを実行する日付を表す Unix タイムスタンプ。
- $schedule(文字列)(必須)$schedule cronのようなスケジュール文字列。http://en.wikipedia.org/wiki/Cron を参照してください。
- $hook(文字列)(必須)アクションフックの名前。
- $args(配列)フックがトリガーされたときにコールバックに渡す引数。 デフォルト:array()
- $group(文字列)このジョブを割り当てるグループ。 デフォルト: ”
戻り値
(整数)アクションの ID。
関数リファレンス / as_unschedule_action
()
as_unschedule_action
()説明
スケジュールされたアクションの次の発生をキャンセルします。
使用法
as_unschedule_action( $hook, $args, $group );
パラメーター
- $hook(文字列)(必須)アクションフックの名前。
- $args(配列)フックがトリガーされたときにコールバックに渡される引数。 デフォルト:array()
- $group(文字列)ジョブが割り当てられているグループ。 デフォルト: ”
戻り値
(null)