特定の時間 (たとえば、「毎時5分過ぎ」) にタスクを予定する伝統的なシステム cron とは異なり、WP-Cron は、システム cron を模倣するために、間隔 (インターバル) を使用します。
WP-Cron には2つの引数が与えられます: 最初のタスクの時間と、タスクが繰り返されるインターバル (秒) です。たとえば、午後02時00分に開始するタスクを300秒 (5分) のインターバルで予定した場合、タスクはまず午後02時00分に実行され、午後02時05分に再び実行され、午後02時10分に再び実行され、といった具合に5分ごとに実行されます。
WordPress では、スケジューリング作業を簡素化するために、いくつかのデフォルト・インターバルと、カスタム・インターバルを追加する、簡単な方法を提供しています。
WordPress が提供するデフォルト・インターバルは、次のようになっています:
hourly
(毎時)twicedaily
(1日2回)daily
(毎日)weekly
(毎週。WordPress 5.4以降)
カスタム・インターバル
カスタム・インターバルを追加するには、次のようなフィルターを作成します:
add_filter( 'cron_schedules', 'example_add_cron_interval' );
function example_add_cron_interval( $schedules ) {
$schedules['five_seconds'] = array(
'interval' => 5,
'display' => esc_html__( 'Every Five Seconds' ),
);
return $schedules;
}
このフィルター関数は、5秒ごとに cron タスクを実行するための、新しいインターバルを作成します。
インターバルはすべて秒単位です。