Boke112导航一直都是使用 WP Super Cache 缓存插件,以前一直都用得挺好的,特别是勾选了高级选项中的“移动设备支持”,PC 访问和移动端访问都分别产生一个缓存文件,这样一来就不会搞混移动端和 PC 端的效果了,比如 PC 端和移动端的导航菜单不一样的时候,特别有用(PS:其实响应式主题不需要开启“移动设备支持”,除非是导航菜单分为 PC 和移动两种菜单)。可惜这段时间 WP Super Cache 缓存插件连续更新,这个功能竟然失效了,看后台是可以看到分别产生了 PC 和移动两种缓存文件,但是手机访问时默认还是调用 PC 端的缓存文件,所以导致手机访问 Boke112导航时,点击出来的菜单总是错位的,非常郁闷。
根据这个问题百度了很久,找到一篇关于《【修复版】wp super cache插件1.4.8之后移动端缓存调用失败的修复版本》,根据文中所说的方法:
我们通过 wp super cache 兼容插件模式中的 jetpack 插件中提取出判断代码,替换了之前的代码,这样生成静态文件和调用静态文件都不会出错了,一个页面将会分为 2 个静态页面。
可惜还是未能成功,又不甘心使用以前的旧版本,所以最后我竟然采取了粗暴的办法,就是直接停用并删除 WP Super Cache 缓存插件。经过两天的运行,发现服务器总是偶尔会出现访问不了或者访问速度很缓慢的现象,所以感觉 WP Super Cache 缓存插件还是很有用的,所以很有必要开启这个插件,最后只能继续想其他办法来解决导航菜单问题。
后来想到我们所谓的响应式主题其实就是根据屏幕大小来判定哪个模块不显示,以达到不同屏幕显示不同内容排版的效果,所以感觉导航菜单应该也是可以使用这种方法来设置的,这样一来,不管有没有缓存,也不管是 PC 还是移动端都影响不大,只要屏幕达到合适的条件就会自动显示或隐藏相应的模块。PS:这样还有一个好处,就是整个页面的源码无论是在 PC 还是移动端,代码都是一样的,以前使用 wp_is_mobile() 函数来区分输出不同的导航菜单,这样就会造成 PC 端和移动端的导航菜单及源码都不一样。
思路和想法明白之后就简单了,由于 boke112导航的菜单一般很少变化,所以就放弃 WordPress 后台的菜单管理,直接把相应 PC 菜单和移动菜单都写死在 header.php 文件中,然后根据不同的 ID 和屏幕大小来显示不同的菜单,没想到一次性就成功了。现在已经重新开启 WP Super Cache 缓存插件,但是用手机访问已经不会出现错乱的导航菜单了(PS:如果还出现请清空浏览器缓存刷新即可)。
最后,建议大家在折腾博客主题的时候,特别是开有缓存和CDN的时候,一定要记得清空相应的缓存,也千万不要忘了清空浏览器的缓存,要不然会白白浪费很多时间,切记!!!
发表于2017-08-17 00:51 沙发
还是大EM方便,连插件都不用= = 话说还是WP太臃肿了
@姜辰其实我们用到WordPress的功能还是挺少的,可以可以把其他多余功能删减就完美了
发表于2017-08-17 10:11 板凳
连续两次升级,我就没有出现这种情况啊!我的博客一切正常
@康乐民博客这个插件升级,一般情况下,也就是说PC端导航菜单和移动端菜单都一样的情况下,一点影响都没有
发表于2017-08-17 10:33 地板
还有一点很重要,折腾前别忘了备份,折腾坏了还能恢复。
@九哥这个折腾插件而已,还行,不备份也没事
发表于2017-08-17 12:35 4楼
看你之前写文章推荐的是wp W3 cache插件啊?
@搬瓦工都用过,不过感觉还是用这个WP SUPER CACHE比较好,毕竟这个插件的用户量摆在那里
发表于2017-08-17 14:10 5楼
WP Super Cache我还是很喜欢的,不过后来没用它了。有时候常常犯这种尴尬的错误,还一个劲问别人为什么。。。。。
@闲鱼[呲牙] 我的折腾好之后就不想折腾它了,习惯就好
发表于2017-08-17 15:46 6楼
这么快就被百度收录了!
发表于2017-08-17 20:52 7楼
WP Super Cache 很久都没有折腾过了!感觉好复杂的感觉,有时候甚至会造成百度收录抓取错误!一直不明白问题出哪里了!估计跟服务器有关系吧!有空了再研究折腾了!
@明月登楼我的感觉还好,目前就是某些页面需要及时更新,找到这个缓存来删除挺麻烦的,如果这个插件能够把页面和文章的缓存分开出来就好了
发表于2017-08-18 13:33 8楼
这个插件我已经于早些时候卸载了它,目前我的博客没有使用任何缓存插件。
@我爱动感单车网[威武] 不用插件速度也那么给力?我访问贵站发现打开网页速度非常快
发表于2017-08-18 20:52 9楼
不用WP Super Cache 功能过于复杂,用简单点的就行了。
@湛蓝色印记习惯就好,其实就是折腾一次过而已
发表于2017-08-19 14:51 10楼
从15年开始,我的博客就一直在用wp-rocket这个收费的插件。性价比还行,主要服务比较好。
@Mr.Li这个wp-rocket插件一直都听说很给力,国外是收费的,国内是破解版,对于破解版不太信任,所以就一直使用这个免费的WP Super Cache插件,感觉还行。
发表于2017-08-20 18:30 11楼
为什么我使用WP Super Cache或者WP faster Cache 之后,依赖JS的模块都不能正常工作了,包括搜索框在内。 [怒火] ,所以折腾之后还是决定放弃了。
@前沿营销学院出现这种情况大部分都是因为JS冲突,或者是重复加载 jQuery 库,自行分析看看吧。
发表于2019-03-12 15:49 12楼
我用这个插件的预缓存功能时老是卡着不动,要过取消也取消不了。
@Yaodo我用这个插件,从不使用预缓存功能
发表于2019-06-06 23:27 13楼
怎么去判断屏幕大小来选择不同的导航或者CSS啊。有没有教程,我也遇到了这个问题。
在header.php是否用个if语句去判断是否是手机访客,是的话调用一个css,不是默认pc,CSS
@灵魂博客可以用IF语句判断,可以用JS判断。不过大多数响应式主题都是通过CSS来根据屏幕大小显示或不显示某些内容。比如@media screen and (max-width:440px){}