我在Wordpress上有一个博客。我通常会更新我的CSS文件,该CSS文件具有如下标记:
<link rel='stylesheet' id='rit-style-css' href='https://www.lagaleramagazine.es/wp-content/themes/ri-maxazine/ri-maxazine/style.css?ver=5.2' type='text/css' media='all' />
您可以在此处实时查看:https://www.lagaleramagazine.es
问题是浏览器不会更新我的文件,而是保持相同的版本(5.2),所以我对文件所做的更改没有显示。
我尝试在主题上的.php文件中搜索CSS文件,但无法正常工作。
如果您使用https://www.lagaleramagazine.es/wp-content/themes/ri-maxazine/ri-maxazine/style.css?ver=5.3访问文件,则会看到与https://www.lagaleramagazine.es/wp-content/themes/ri-maxazine/ri-maxazine/style.css?ver=5.2不同的版本。
我搜索了一个解决方案,但问题是我在Wordpress php文件中找不到CSS行标签:
/css/style.css?v=<?php echo date('his'); ?>
(我不知道这行得通)
答案 0 :(得分:1)
我发现强迫样式表加入最新版本的最好方法是使用filemtime()
函数,该函数会将文件的修改日期用作最新版本。这样,它将相对缓存友好,但样式仍会更新。
例如
wp_enqueue_style( 'rit-style-css', get_stylesheet_directory_uri() . '/style.css', array(), filemtime( get_stylesheet_directory() . '/style.css' ) );
请确保将其放入已添加到wp_enqueue_scripts
操作中的函数中。
如果您使用的是儿童主题或类似主题,则需要先使文件出队,然后再将其入队。
function example_update_stylesheet(){
wp_dequeue_style( 'rit-style-css' );
wp_enqueue_style( 'rit-style-css', get_stylesheet_directory_uri() . '/style.css', array(), filemtime( get_stylesheet_directory() . '/style.css' ) );
}
add_action( 'wp_enqueue_scripts', 'example_update_stylesheet', 100 ); /*Late priority*/