在 《WordPress 添加一個定時任務 (Cron) 》一文中,我簡單的介紹了 WordPress 定時任務的用法。
很多人都説定時任務有一個非常討厭的設計,那就是隻能設置三種任務執行頻率,分別是 hourly(每小時執行一次) 、 twicedaily(每天執行兩次,也就是 12 小時執行一次) 和 daily(24 小時執行一次),如果要其它的執行頻率就沒有辦法。
那 WordPress 就真不支持自定義定時任務的執行頻率嗎?答案是否定的,WordPress 支持自定義定時任務的執行頻率,但是比較麻煩,需要使用鈎子修改。
下邊的代碼我添加了一個新的任務執行頻率,叫做 weekly,執行頻率為每週執行一次:
|
functionBing_add_schedules($schedules){ $schedules['weekly']=array( 'interval'=>604800,//以秒為單位的執行頻率 'display'=>__('每週一次')//顯示在前端的名字 ); return$schedules; } add_filter('cron_schedules','Bing_add_schedules'); |
之後這個創建的執行頻率就可以在 wp_schedule_event() 函數上使用了:
|
1 |
wp_schedule_event(current_time('timestamp'),'weekly','test'); |
總結:用 cron_schedules 鈎子可以添加更多的執行頻率,實現自定義定時任務執行頻率的目的。