本教程操作环境:Windows10系统、WordPress5.4.2版、Dell G3电脑。
wordpress不刷新怎么办?
WordPress首页缓存不刷新的一种可能:Cookie过滤引起的问题
如果使用到了一些缓存软件后,可能会遇到Wordpress首页缓存不刷新的问题。出现发布文章或者登陆后,首页没有变化的情况。
这种情况很多时候是cookie引起的原因。
例如使用了Batcache插件的话,就容易产生这种可能。
Batcache在检测到一些cookie 值时会禁用缓存,advanced-cache.php 中的判断代码如下:
1
2
3
4
5
6
7
8
9
10
// 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过滤范围。
1
2
3
4
5
6
7
8
9
10
// 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是否被过滤了。
处理:
2、如果Cookie删除完后,首页还是无法正常刷新,则检查一下Cookie是否被过滤了
Supercache、WT3、Fastest cache等缓存软件都有排除Cookie过滤的选择,原因就在此。
找到相关的Cookie后,填入对应的Cookie过滤选项栏就可以了。
当然,这只是Wordpress首页缓存不刷新的一种可能,但是很常见。
推荐学习:《WordPress教程》
以上就是wordpress不刷新怎么办的详细内容,更多请关注php中文网其它相关文章!