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プラグイン作成】 879 vi 記事:yukimaru
WPプラグインメモの最新記事