我的Wordpress CSS版本缓存更新出现问题

时间:2019-05-08 08:44:14

标签: 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'); ?>

(我不知道这行得通)

1 个答案:

答案 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*/