所以我在我的wordpress模板中的index.php文件中有这些代码:
if($detect->isMobile() && !$detect->isTablet() ) {
include('mobileshares.php');
}
代码的目的是在用户使用移动设备或平板电脑设备时加载php文件。这意味着,如果它是桌面,它将不会被加载。
无论如何,它真的很完美。 NOT UNTIL 我在wordpress中安装了W3 Total Cache插件。缓存会让一切变得混乱。
这意味着,已缓存的网站将显示给下一位访问者。例如,访问者#1使用他的智能手机访问了我的网站。它将显示移动网站的相关性。然后缓存过程将完成其工作。当另一位访客(完全不同的人)访问者#2通过不同的设备(让我们说)桌面访问我的网站时。将显示的网站将是移动桌面。我相信这是因为W3TC缓存插件。不确定我在这里有意义。
所以我做了一些读数,发现answer 片段缓存。
在我的wp配置文件中编辑并添加几行之后:这是我现在修改的代码:
<!-- mfunc W3TC_DYNAMIC_SECURITY -->
<?php
if($detect->isMobile() && !$detect->isTablet() ) {
include('mobileshares.php');
}
?>
<!-- /mfunc W3TC_DYNAMIC_SECURITY -->
(此代码转到wp-config.php文件)
define('W3TC_DYNAMIC_SECURITY', 'somesecurestring');
我已将设置设为“磁盘:基本”并启用“延迟初始化”,代码仍然搞砸了!
我做错了什么?你能指出什么是错的吗?你能建议一个更好的方法来实现这个吗?
我感谢您的所有答案/评论,以便我能解决这个问题。谢谢!
答案 0 :(得分:1)
根据您的问题描述,这不是由W3TC引起的,而是由W3TC提供的页面缓存功能引起的。在WordPress中的W3TC设置中,关闭页面缓存并仅使用片段缓存,您将不会遇到此问题。
或者,在移动设备上初始页面加载后使用javascript加载此特殊内容,以便可以使用W3TC缓存页面而不会导致问题。