我使用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;
}
问题是页面每次加载时都会被缓存。所以,如果我用会话移动打开页面,它会显示移动版,如果我切换到桌面,然后再次访问该页面,它仍然会显示移动版本,因为它是缓存的,所以第一次被请求时。
有人知道如何防止这种情况发生吗?
好的,解决方案是片段缓存。首先,你必须通过设置来设置你的秘密短语
define('W3TC_DYNAMIC_SECURITY', 'my_string');
在wp-config.php
中,然后您可以使用类似的PHP代码
<!-- mfunc echo "Hello World<br/>"; --><!-- /mfunc -->
它输出这个动态代码
<?php echo "Hello World<br/>"; ?>