我遇到了一个我从未遇到过的问题。
当我在子主题中更新我的style.css文件时,网页不使用新的样式。
我已经定位到浏览器中的cookie,它似乎使用style.css?ver=3.8.1而不是基本的style.css。顺便说一句,3.8.1是我的WordPress版本。
我发现的唯一解决办法是手动删除cookie,但每当我进行更改时,都会遇到麻烦。
对如何修复有什么想法吗?
发布于 2014-01-30 17:52:42
我希望您的主题中有类似于此的代码:
wp_enqueue_style( 'themename-style', get_stylesheet_uri() );
您需要修改它以获得版本信息,如下所示:
wp_enqueue_style( 'themename-style', get_stylesheet_uri(), array(), '1.0' );
其中"1.0“是主题的版本。
现在,每次更改样式表时,都需要更新版本号。这将更新URL以获得新版本,从而关闭缓存。
发布于 2014-01-30 17:03:55
检查是否在.htaccess文件中启用了浏览器缓存。这是暂时的解决办法。
但是,长期解决方案来自Mark http://markjaquith.wordpress.com/2009/05/04/force-css-changes-to-go-live-immediately/,有一种方法可以将时间戳作为查询字符串附加到style.css URL;这将强制在style.css文件被更改时重新加载它。也就是说,
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url');
echo '?' . filemtime( get_stylesheet_directory() . '/style.css'); ?>"
type="text/css" media="screen, projection" />正如他所说:
这会在每次修改文件时自动更新?12345678结束部分。轰隆隆。现在每个人都会立即看到你的变化。
发布于 2014-05-15 02:24:06
如果有人试图弄清楚如何刷新多个样式表,则可以使用以下代码
<link rel="stylesheet" href="<?php bloginfo('template_directory');
echo '/differentnamestylesheet.css?' . filemtime( get_stylesheet_directory() ); ?>"
type="text/css" media="screen, projection" />https://wordpress.stackexchange.com/questions/131838
复制相似问题