“wp_enQueue_style();”不加载新编辑的样式

时间:2018-02-20 作者:DVDSON

首先,对不起我的英语。我正在使用飞轮本地管理我的站点文件,我的wordpress版本是4.9.4。

当我使用

 wp_enqueue_style(\'wharever\', get_stylesheet_uri());
加载样式。第一次使用css,内部只有一个简单的内容:

body { color: orange; }
一切都很好,我们有一个橙色文本的页面,但当我改变样式时。css主体颜色为绿色(或其他任何颜色),它们不会改变,始终为橙色。

注:在wp\\u enqueue\\u样式中,我更改了版本参数,他也更改了,但仅在第一次更改时,我坚持使用我为所放置的版本添加的第一种颜色。

如果这是wordpress的一个功能,我如何关闭它?这不太有用,我们不能改变风格。css随意测试而不更改版本。

3 个回复
最合适的回答,由SO网友:majick 整理而成

另一个解决方案是使用filemtime 对于CacheBasting,最后修改的时间戳用作querystring变量。

这样做的优点是仍然使用浏览器缓存,但由于查询字符串的更改,文件实际发生更改时,会提供一个新文件。例如:。

$lastmodtime= filemtime(get_stylesheet_directory().\'/style.css\');
wp_enqueue_style(\'whatever\', get_stylesheet_uri(), array(), $lastmodtime);

SO网友:n8bar

这是一个缓存问题。为了解决这个问题,我在样式表uri中添加了一个随机字符串,以阻止浏览器缓存它。

首先,需要一个随机字符串。我使用这个简单的函数来生成一个。

function randomAlphaNumeric($length) { $pool = array_merge(range(0,9), range(\'a\', \'z\'),range(\'A\', \'Z\')); $key=\'\'; for($i=0; $i < $length; $i++) { $key .= $pool[mt_rand(0, count($pool) - 1)]; } return $key; }

现在只需在您的队列中使用它,如下所示:

wp_enqueue_style(\'wharever\', get_stylesheet_uri().\'?random=\'.randomAlphaNumeric(5));

SO网友:Vala Khosravi

您可以更改

 wp_enqueue_style(\'wharever\', get_stylesheet_uri());

 wp_enqueue_style(\'wharever\', get_stylesheet_uri(),  array(), time(), \'all\');
它将开始正常工作。

结束