"下一次运行"在wp crontrol插件无效

时间:2018-02-12 13:29:10

标签: php wordpress cron

我想创建一个函数,该函数每3分钟运行一次。

我使用插件wp-crontrol来创建一个cron作业事件。

我在Google和Stackoverflow中搜索过,而function.php中的代码是

// Add a new interval of 180 seconds
// See http://codex.wordpress.org/Plugin_API/Filter_Reference/cron_schedules
add_filter( 'cron_schedules', 'isa_add_every_three_minutes' );
function isa_add_every_three_minutes( $schedules ) {
    $schedules['every_three_minutes'] = array(
            'interval'  => 180,
            'display'   => __( 'Every 3 Minutes', 'textdomain' )
    );
    return $schedules;
}

// Schedule an action if it's not already scheduled
if ( ! wp_next_scheduled( 'isa_add_every_three_minutes' ) ) {
    wp_schedule_event( time(), 'every_three_minutes', 'isa_add_every_three_minutes' );
}

// Hook into that action that'll fire every three minutes
add_action( 'isa_add_every_three_minutes', 'every_three_minutes_event_func' );
function every_three_minutes_event_func() {
    // The code run update in every 3 minutes
    $update= get_field('ls_home_number_candidates');
    $updatePlusOne= $update++;
    update_post_meta(56, 'ls_home_number_candidates', $updatePlusOne);
}
?>

然后在我的WP-Cron事件中出现名为 isa_add_every_three_minutes 的新事件

但事件没有发生。如果我按下"立即运行",它将显示为#34;已成功执行cron事件isa_add_every_three_minutes。"

但它不起作用,下次运行字段始终是"现在" enter image description here

请帮忙。谢谢

1 个答案:

答案 0 :(得分:0)

代码中的函数isa_add_every_three_minutes只是为了获取您设置的自定义计划,它与cron名称无关。你的add_action应该有你想要执行的cron名称和cron函数,然后你需要调用它,所以像这样:

// Schedule an action if it's not already scheduled
if ( ! wp_next_scheduled( 'my_cron' ) ) {
    wp_schedule_event( time(), 'every_three_minutes', 'my_cron' );
}

// Hook into that action that'll fire every three minutes
add_action( 'my_cron', 'every_three_minutes_event_func' );

其他一切看起来都不错。