问题描述
好的,所以我们可能都很熟悉在加载页面 (破坏浏览器缓存) 时刷新主要 CSS 文件的典型方法,对吧?
<link rel="stylesheet" type="text/css" media="all"
href="<?php echo get_stylesheet_uri();
echo '?'.filemtime( get_stylesheet_directory() . '/style.css'); ?>" />
我需要在另一个 CSS 文件上做同样的事情。是的,我的 style.css 文件拥有自己的一套 @import “css/myFile.css”,它们都可以正常工作,但是如果你愿意,幽默我。所以,回到 header.php,就在第一个链接之后,并且在调用之前,对 wp_head():
<?php $cssFile = get_stylesheet_directory_uri().'/css/other.css'; ?>
<link rel="stylesheet" type="text/css" media="all"
href="<?php echo $cssFile; echo '?'.filemtime($cssFile); ?>" />
这导致警告 (作为浏览器获取页面时链接的 href 属性的一部分):
Warning: filemtime(): stat failed for http://localhost/wordpress/wp-content/themes/my_theme/css/other.css
文件的路径似乎正确构建 (另一个.css 文件在那里),但是 filemtime(stat,实际上) 失败了。怎么来的?
其他推荐的方法来包含 CSS.c 文件,而不是 style.css 的’latest’ 版本?我应该用 wp_register_style 去吗?如果是这样的话,我怎么能告诉 wp_register_style 来破坏浏览器缓存 (即:即使浏览器缓存,我得到最新版本的 css 文件)?提前致谢
最佳解决思路
您在第一个通话中使用该文件的路径,但其第二个 URL 中的 URL 。所以不行。
次佳解决思路
我倾向于使用 wp_enqueue_style
排列主样式表,并在我想要防止缓存时附加一些东西到版本。
$ver = '';
wp_enqueue_style( 'theme_style', get_bloginfo('stylesheet_url'), false, $ver );
当我想停止缓存时,我会更新 $ver
到不断变化的东西,如时间..
$ver = time();
或类似的东西..
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。