如何在Wordpress中实现片段缓存(W3TC)

时间:2015-10-18 08:02:01

标签: php wordpress caching

所以我在我的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');

我已将设置设为“磁盘:基本”并启用“延迟初始化”,代码仍然搞砸了!

我做错了什么?你能指出什么是错的吗?你能建议一个更好的方法来实现这个吗?

我感谢您的所有答案/评论,以便我能解决这个问题。谢谢!

1 个答案:

答案 0 :(得分:1)

根据您的问题描述,这不是由W3TC引起的,而是由W3TC提供的页面缓存功能引起的。在WordPress中的W3TC设置中,关闭页面缓存并仅使用片段缓存,您将不会遇到此问题。

或者,在移动设备上初始页面加载后使用javascript加载此特殊内容,以便可以使用W3TC缓存页面而不会导致问题。