5.wp_cronについて【wpプラグイン作成】

2017年02月28日(火) 369 vi

5.wp_cronについて【wpプラグイン作成】

wordpressには擬似的なcronの機能が備わっている。

cronのように扱えるが、サイトに一切のアクセスがないと、実行されないので注意が必要。
サイトの管理者が管理画面にアクセスするだけでもwp cronの判定はされる。

■wp_cronへのイベント登録

wp_schedule_event('時間指定', '期間指定', 'フック名')

//フックが実行されたら指定された関数を実行
add_action('フック名', 'ファンクション名');

function ファンクション名() {
//実行される内容記載
}

・第一引数の時間がはGMTで指定する必要がある。
・実行する間隔を指定。[hourly(毎時), twicedaily(日に2回),daily(毎日)]の3つのうちから指定。

■wp_cronへのイベントの削除

wp_clear_scheduled_hook('フック名');

プラグインが無効化されたときなどは、wp_cronに登録されたイベントも削除する必要がある

//プラグインが無効されたときに実行される
register_deactivation_hook(__FILE__, 'ファンクション名');

function ファンクション名() {
    wp_clear_scheduled_hook('登録されてるフック名');
}

※wp_schedule_eventで第4引数を設定した場合に
wp_clear_scheduled_hookでその値を第2引数に設定しないと、スケジュールが消えないので注意。

■wp_cronのスケジュールの有無を判定

if(!wp_next_scheduled('フック名')){
 //登録されていなかった場合
}else{
 //登録されていた場合
}

■wordpressプラグインの作成めも

作成したプラグインはこちら>>

5.wp_cronについて【wpプラグイン作成】 369 vi  記事:yukimaru

WPプラグインメモの最新記事