使用计划事件刷新重写规则(Cron)

时间:2020-05-14 作者:dimitrilongo

我想用一个wp_schedule_event

function el_custom_cron_schedule( $schedules ) {
    $schedules[\'el_every_5mn\'] = array(
        \'interval\' => 5*60,
        \'display\'  => __( \'Every 5 minutes\' ),
    );
    return $schedules;
}
add_filter( \'cron_schedules\', \'el_custom_cron_schedule\' );

 // Flush permalinks every 5mn
function el_flush_permalinks_activation() {
    if ( !wp_next_scheduled( \'el_5mn_event\' ) ) {
        wp_schedule_event(time(), \'el_every_5mn\', \'el_5mn_event\');
    }
}
add_action(\'el_5mn_event\', \'el_flush_permalinks\');

add_action(\'wp\', \'el_flush_permalinks_activation\');

function el_flush_permalinks() {
    flush_rewrite_rules(true);
}
因此,计划的任务可以工作,我通过发送电子邮件来测试它(wp_mail 在函数中el_flush_permalinks)

问题是flush_rewrite_rules() 不是启动。我以为是hook wp 但不是。

谢谢你的帮助

1 个回复
SO网友:nixsee

我相信这段代码可以用于刷新permalink缓存:

function el_flush_permalinks() {
global $wp_rewrite;
$wp_rewrite->flush_rules();
}

相关推荐

Server cron job not working

我想为我的WordPress网站设置服务器cron作业。这就是我到目前为止所做的我将这一行添加到我的wp配置文件中。define(\'DISABLE_WP_CRON\', true); 我添加了这个命令来设置cron作业。wget -q -O - https://example.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1 但我的cron函数不起作用。我以同样的方式在临时站点上设置了cron和php函数,它在另一台主机上