css - 我的 Wordpress CSS 版本缓存更新问题
问题描述
我在 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'); ?>
(我不知道这会起作用)
解决方案
我发现强制样式表将最新版本排入队列的最佳方法是使用该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*/
推荐阅读
- android - 应用显示和移动显示不匹配反应原生
- java - eclipse无法自动导入某些类
- javascript - 从具有父子结构的对象数组中删除对象
- c# - 无法调试依赖的项目,如果依赖于它的项目未构建,则始终返回错误
- c# - 搜索文件夹范围
- python - Heroku 上的 Flask 应用程序无法检测到另一个文件进行身份验证
- r - 查找每个向量元素所在的范围
- flask - flask开发单终端:不退出flask继续编辑代码
- mysql - 无法将文件加载到 mysql 表:错误代码:2 - 没有这样的文件或目录
- php - 在我的 mysql 表中,在一个单元格中有行,我有数组。如何选择具有特定数组值的行?