概要
- ユースケース
WordPressサイトで定期的に処理を実行したい場合、`wp_schedule_event()` 関数を使用することで簡単に処理を登録できます。たとえば、定期的なバックアップの作成やキャッシュのクリアなどが挙げられます。
- 前提条件
WordPress環境でこの機能を使用するためには、プラグイン開発やテーマのカスタマイズ経験が必要です。
サンプルコード
// 1時間ごとに実行される処理を登録する例
add_action('my_hourly_event', 'my_hourly_function');
function my_activation() {
if (!wp_next_scheduled('my_hourly_event')) {
wp_schedule_event(time(), 'hourly', 'my_hourly_event');
}
}
add_action('wp', 'my_activation');
function my_hourly_function() {
// ここに実行したい処理を記述
}
解説
- `add_action('my_hourly_event', 'my_hourly_function');`:'my_hourly_event' という名前のイベントが発生した際に 'my_hourly_function' 関数を実行するように登録します。
- `my_activation()` 関数:'my_hourly_event' イベントが登録されていない場合に、1時間ごとに実行されるようにイベントをスケジュールします。
- `add_action('wp', 'my_activation');`:WordPressが起動した際に `my_activation()` 関数を実行するように登録します。
- `my_hourly_function()` 関数:実際に1時間ごとに実行される処理を記述します。
ベストプラクティス
- 定期的な処理を登録する際には、処理が重複して登録されないように注意しましょう。`wp_next_scheduled()` 関数を使用してすでにスケジュールされているかどうかを確認しましょう。
- 処理が正常に動作しているかを確認するために、ログやデバッグ情報を適宜出力することをおすすめします。
- 長時間かかる処理やリソースを多く消費する処理は、定期処理で実行する際には注意が必要です。サーバーの負荷やパフォーマンスに影響が出ないように設計しましょう。