我正在使用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' );
}
}
2条答案
按热度按时间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。
4ioopgfo2#
如果你可以访问你的服务器或共享主机,你可以设置cron作业太容易。
我每周运行一次
wp w3-total-cache flush all
命令。要设置运行该命令的时间间隔,可以使用cron表达式生成器like this one。每30分钟运行一次* 0 0 ? * * *
(在整点00和30分运行)