css - 我的 Wordpress CSS 版本缓存更新有问题

标签 css wordpress

我在 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*/

关于css - 我的 Wordpress CSS 版本缓存更新有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56036793/

相关文章:

html - wordpress 集成 html 和 Css

php - 给出警告 : number_format() expects parameter 1 to be double, 字符串

html - IE 中的边距菜单

css - 如何选择标签之间的松散文本

php - 用 CSS 隐藏代码?

javascript - WooCommerce:产品的逐步变化选择

wordpress - 如何将自定义HTML添加到wp_nav_menu?

html - 如何在 CSS/html 中创建垂直标尺?

html - 仅CSS的砌体布局

javascript - 根据下拉选择设置附加 div 的颜色