delay function on publish?

时间:2012-06-23 作者:Nimbuz

我有一个通过add\\u操作挂钩调用自定义函数的函数:

add_action(\'publish_post\', \'custom_function\');

... 现在它工作得很好,但我希望custom\\u函数延迟,以便在发布帖子后运行。

但是,如果我加上sleep(20) 内部custom_function 它会延迟邮件本身。我想要的是发布帖子,然后在x秒后运行此函数。

谢谢

1 个回复
最合适的回答,由SO网友:HungryCoder 整理而成

publish_post 发布帖子后调用!所以,你已经得到了保障。但是,如果您想在帖子发布一定时间后运行操作,最好编写一个cron作业。

例如,如果需要在发布帖子的5分钟后运行该函数,则需要注册一个cron事件,该事件将在5分钟后触发(发布帖子)

add_action(\'publish_post\', \'register_single_cron\');

function register_single_cron($id){
  wp_schedule_single_event(tim() + 300, \'custom_function\');
}

function custom_function(){
  //your logic goes here
}
请检查api详细信息here.

但该系统有一个问题,只有在计划时间当天或之后加载/访问站点时才会触发。

结束