• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

関数リファレンス/wp schedule event

提供: WordPress Codex 日本語版
移動先: 案内検索

指定された一定の期間をおいてWordPressのコアファイルによって実行されるアクションを登録します。アクションは誰かがサイトを訪れたときに、予定されていた時間をすぎていた場合、実行されます。フックのリストはプラグイン APIをご覧下さい。

使用法

<?php wp_schedule_event($timestamp, $recurrence, $hook, $args); ?>

パラメータ

$timestamp
integer) (必須) 最初にイベントを発生させる時刻。これはUNIXタイムスタンプ型である必要があります。
初期値: なし
$recurrence
string) (必須) どれぐらいの頻度でイベントを発生させるか。有効な値:
  • hourly
  • twicedaily
  • daily
初期値: なし
$hook
string) (必須) 実行するアクションフックの名前
初期値: なし
$args
array) (optional) フックした関数に渡す引数
初期値: なし

使用例

1時間ごとに実行されるイベントを登録する

一時間ごとに実行されるイベントをプラグインに登録するには、wp_schedule_eventをプラグイン有効化時に呼び出してください。(そうしないと、たくさんのスケジュール・イベントが登録されることになります!)

register_activation_hook(__FILE__, 'my_activation');
add_action('my_hourly_event', 'do_this_hourly');

function my_activation() {
	wp_schedule_event(time(), 'hourly', 'my_hourly_event');
}

function do_this_hourly() {
	// do something every hour
}

スケジュールを解除することも忘れないでください:

register_deactivation_hook(__FILE__, 'my_deactivation');

function my_deactivation() {
	wp_clear_scheduled_hook('my_hourly_event');
}

毎時間のイベントを実現する簡単な方法

この例では、プラグインの有効化には反応せず、イベントがない場合にだけ登録します。

add_action('my_hourly_event', 'do_this_hourly');

function my_activation() {
	if ( !wp_next_scheduled( 'my_hourly_event' ) ) {
		wp_schedule_event(time(), 'hourly', 'my_hourly_event')
	}
}
add_action('wp', 'my_activation');

function do_this_hourly() {
	// do something every hour
}

その他の情報

もっと詳しく

How cronjobs work in wordpress Scheduling Tasks in WordPress: a Plugin Developer’s Guide

Cron関数: spawn_cron /en, wp_cron /en, wp_schedule_event(), wp_schedule_single_event() /en, wp_clear_scheduled_hook() /en, wp_next_scheduled() /en, wp_unschedule_event() /en, wp_get_schedule() /en, wp_reschedule_event /en


関数リファレンステンプレートタグ目次もご覧ください。


最新英語版: WordPress Codex » wp_schedule_event最新版との差分