Wp_Get_Scheduled和wp_Next_Scheduled找不到我计划的wp-cron作业

时间:2018-12-21 作者:Johano Fierra

我尝试了以下两种方法,每种方法都会反复添加cronjob,直到我删除代码为止。我已经安排了数百次了。。。

if(!wp_next_scheduled(\'send_order_surveys\')){
    wp_schedule_event(time(), \'30min\', \'send_order_surveys\');
}

if(!wp_get_schedule(\'send_order_surveys\')){
   wp_schedule_event(time(), \'30min\', \'send_order_surveys\');
}
我做错了什么?

1 个回复
SO网友:Johano Fierra

我在实际文件中找到了答案:https://developer.wordpress.org/reference/functions/wp_next_scheduled/

以“ub3rst4r”的评论形式:

请注意$args参数!如果不在wp\\U next\\u scheduled中指定$args参数,但在wp\\U schedule\\u事件中使用$args,则会导致计划许多事件(而不仅仅是一个)。

错误示例:

if ( ! wp_next_scheduled( \'myevent\' ) ) { // This will always be false
    wp_schedule_event( time(), \'daily\', \'myevent\', array( false ) );
}
好例子:

$args = array( false );
if ( ! wp_next_scheduled( \'myevent\', $args ) ) {
    wp_schedule_event( time(), \'daily\', \'myevent\', $args );
}

相关推荐

禁用了wp-cron,设置了系统cron,但仍错过了计划开机自检

我有一个缓存插件(WP-Rocket),所以我知道WP-cron和预定帖子的问题。所以,我禁用了wp-cron 然后设置系统cron。现在,我注意到,当一篇文章被安排时,它没有设置为HH:MM:00 但有些数字大于0 秒。因此,我将系统cron设置为每隔5分钟和35分钟运行一次wp cron。但我还是错过了发帖时间表。我知道它会运行,因为我记录了输出,其中显示200 返回代码加上我看到的缓存文件的时间戳分别为5分钟和35分钟。define(\'DISABLE_WP_CRON\', true);