我正在wp cron中安排作业:
add_action(\'my_cron_hook\', \'my_cron_action\');
wp_schedule_event( time(), \'interval1\', \'my_cron_hook\' );
function my_cron_action(){
//do something
}
变量interval1由管理员在代码的另一部分中设置
还有一个开关,允许管理员启用或禁用wp裁剪作业。
My problem is this:
my_cron_操作在计划后立即执行
(这意味着,只要管理员从后端启用cron作业)。
What i want to do is this:
如果我们假设管理员启用作业的时间是T,
我希望作业在运行T+interval1 这是第一次,而不是在T时。
完成此操作后,我想做的下一件事是创建一个按钮“立即执行作业”,它将在单击作业后立即运行作业。
最合适的回答,由SO网友:Aleksey Razbakov 整理而成
如中所述wp_schedule_event 第一个参数是$timestamp
- 您希望事件第一次发生的时间。所以只需将间隔添加到$timestamp。我想应该是这样
wp_schedule_event( time() + $delay, \'interval1\', \'my_cron_hook\' );
和设置
$delay
挂钩开始前的毫秒数。