4

我正在使用 W3 Total Cache 来缓存我的 WordPress 页面、帖子等。
现在我制作了一个按钮,用于设置会话变量来告诉服务器用户是否想要移动或桌面视图并调用此函数:

<?php function mobile_css() {
    if(is_mobile() && !isset($_SESSION['mobile'])) : ?>
    <link type="text/css" media="all" rel="stylesheet" href="<?php bloginfo('template_url'); ?>/css/mobile.css" />
  <?php elseif($_SESSION['mobile'] == "ja") : ?>
    <link type="text/css" media="all" rel="stylesheet" href="<?php bloginfo('template_url'); ?>/css/mobile.css" />
    <?php endif;
}

问题是页面在每次第一次加载时都会被缓存。因此,如果我使用会话移动打开页面,它会显示移动,如果我切换到桌面并再次访问该页面,它仍然显示移动版本,因为它已被缓存,所以第一次被请求时。

有人知道如何防止这种情况吗?

4

1 回答 1

6

好的,解决方案是片段缓存。首先你必须通过设置来设置你的秘密短语

define('W3TC_DYNAMIC_SECURITY', 'my_string');

wp-config.php然后你可以像这样使用PHP代码

<!-- mfunc echo "Hello World<br/>"; --><!-- /mfunc -->

输出此动态代码

<?php echo "Hello World<br/>"; ?>
于 2013-09-17T08:24:02.383 回答