問題描述
好的,所以我們可能都很熟悉在加載頁面 (破壞瀏覽器緩存) 時刷新主要 CSS 文件的典型方法,對吧?
<link rel="stylesheet" type="text/css" media="all"
href="http://<?php%20echo%20get_stylesheet_uri();%20%20%20%20echo%20'?'.filemtime(%20get_stylesheet_directory()%20.%20'/style.css');%20?>" />
我需要在另一個 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="http://<?php%20echo%20$cssFile;%20echo%20'?'.filemtime($cssFile);%20?>" />
這導致警告 (作為瀏覽器獲取頁面時鏈接的 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。