wordpress 如何自动清除W3总缓存中的缓存?

bt1cpqcv  于 2023-01-16  发布在  WordPress
关注(0)|答案(2)|浏览(159)

我正在使用WordPress的W3总缓存插件。我的帖子有一个表,每分钟/小时更新一次。但当我缓存时,服务器不提供最新版本,相反,它显示缓存副本给访问者.我怎样才能清除缓存每30分钟自动,使它显示最新版本的职位后,每30分钟?我已经尝试插入这个代码的函数.php文件,但它不清除缓存每1小时,而是它做2- 3小时后。

function w3_flush_cache( ) {
    $w3_plugin_totalcache->flush_all();
}

// Schedule Cron Job Event

function w3tc_cache_flush() {
    if ( ! wp_next_scheduled( 'w3_flush_cache' ) ) {
        wp_schedule_event( current_time( 'timestamp' ), 'hourly', 'w3_flush_cache' );    
    }
}
js5cn81o

js5cn81o1#

因为还没有人回答:
“interval”是cron作业应运行的秒数。因此,对于“hourly”,时间为HOUR_IN_SECONDS(60 60或3600)。对于“monthly”,值为MONTH_IN_SECONDS(30 24 60 60或2592000)。
参见wp_get_schedules参考。
因此,每30分钟应该使用30*60 = 1800。

wp_schedule_event( current_time( 'timestamp' ), 1800, 'w3_flush_cache' );
4ioopgfo

4ioopgfo2#

如果你可以访问你的服务器或共享主机,你可以设置cron作业太容易。
我每周运行一次wp w3-total-cache flush all命令。要设置运行该命令的时间间隔,可以使用cron表达式生成器like this one。每30分钟运行一次* 0 0 ? * * *(在整点00和30分运行)

相关问题