Man*_*ore 4 php wordpress caching w3-total-cache
我正在使用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;
}
Run Code Online (Sandbox Code Playgroud)
问题是页面在每次第一次加载时都会被缓存.所以,如果我用会话移动打开页面它会显示移动,如果我切换到桌面然后再次访问该页面它仍然显示移动版本,因为它是第一次被请求时被缓存.
有没有人知道如何防止这种情况?
好的,解决方案是片段缓存.首先,您必须通过设置来设置您的秘密短语
define('W3TC_DYNAMIC_SECURITY', 'my_string');
Run Code Online (Sandbox Code Playgroud)
in wp-config.php然后你可以使用像这样的PHP代码
<!-- mfunc echo "Hello World<br/>"; --><!-- /mfunc -->
Run Code Online (Sandbox Code Playgroud)
它输出这个动态代码
<?php echo "Hello World<br/>"; ?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4721 次 |
| 最近记录: |