本文小编为大家详细介绍“wordpress不刷新如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“wordpress不刷新如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
wordpress不刷新的解决办法:1、将所有时段的Cookie删除,然后检查首页是否正常刷新;2、检查Cookie是否被过滤,然后找到相关的Cookie后,填入对应的Cookie过滤选项栏即可。
WordPress首页缓存不刷新的一种可能:Cookie过滤引起的问题
如果使用到了一些缓存软件后,可能会遇到Wordpress首页缓存不刷新的问题。出现发布文章或者登陆后,首页没有变化的情况。
这种情况很多时候是cookie引起的原因。
例如使用了Batcache插件的话,就容易产生这种可能。
Batcache在检测到一些cookie 值时会禁用缓存,advanced-cache.php 中的判断代码如下:
// Never batcache when cookies indicate a cache-exempt visitor.
if ( is_array( $_COOKIE) && ! empty( $_COOKIE ) ){
foreach ( array_keys( $_COOKIE ) as $batcache->cookie ){
if ( $batcache->cookie != 'wordpress_test_cookie' &&
( substr( $batcache->cookie, 0, 2 ) == 'wp' || substr( $batcache->cookie, 0, 9 ) == 'wordpress' || substr( $batcache->cookie, 0, 14 ) == 'comment_author' ) ){
batcache_stats( 'batcache', 'cookie_skip' );
return;
}
}
}
这就表示 Batcache 发现如果请求中的 cookie 是以 wp、wordpress 或者 comment_author 开头时就禁用缓存,这样后台管理、用户评论等功能才能正常工作。
如果插件出现冲突的话,例如插件产生了wpxxyy cookie,就刚好被Batcache 插件的过滤过滤了”wp”开头的cookie,Batcache全页面缓存就失效了,需要将其取消,修改cookie过滤范围。
// Never batcache when cookies indicate a cache-exempt visitor.
if ( is_array( $_COOKIE) && ! empty( $_COOKIE ) ){
foreach ( array_keys( $_COOKIE ) as $batcache->cookie ){
if ( $batcache->cookie != 'wordpress_test_cookie' && $batcache->cookie != 'wpmp_switcher' && substr( $batcache->cookie, 0, 12 ) != 'wp-settings-' &&
( substr( $batcache->cookie, 0, 2 ) == 'wp' || substr( $batcache->cookie, 0, 9 ) == 'wordpress' || substr( $batcache->cookie, 0, 14 ) == 'comment_author' ) ){
batcache_stats( 'batcache', 'cookie_skip' );
return;
}
}
}
同理,以chrome浏览器为例,通过F12/网站设置/隐私设置/Cookie/查看Cookie来找出所有的本站Cookie,检查一下相关的Cookie是否被过滤了。
处理:
1、将所有时段的Cookie删除,检查首页是否正常刷新
2、如果Cookie删除完后,首页还是无法正常刷新,则检查一下Cookie是否被过滤了
Supercache、WT3、Fastest cache等缓存软件都有排除Cookie过滤的选择,原因就在此。
找到相关的Cookie后,填入对应的Cookie过滤选项栏就可以了。
当然,这只是Wordpress首页缓存不刷新的一种可能,但是很常见。