通过文件修改时间来强制更新css、js等文件版本号

本文最后更新于2周前 (04-21),若有错误或已失效,请在下方留言或提交工单反馈

经常修改wordpress的css或者js文件后,经常要清理缓存插件、浏览器缓存、cdn缓存。。。很麻烦。最便捷的方法是修改文件的版本号,让每一次修改后的版本号都不一样。比如libs.css?ver=1616566988
这样每次修改完,改变版本号,客户端浏览器就会重新下载新的js或css文件,起到刷新缓存的作用。不用再去手动刷新缓存了。

我们要用到函数filemtime(),文件的内容上次被修改的时间 时间戳。文件名必须是相对路径~~
代码如下:

<link rel='stylesheet' href='wp-content/themes/wodown/static/css/libs.css?ver=<?php echo filemtime(wp-content/themes/wodown/static/css/libs.css); ?>' type='text/css' />
<script type='text/javascript' src='wp-content/themes/wodown/static/js/jquery.min.js?ver=<?php echo filemtime(wp-content/themes/wodown/static/js/jquery.min.js); ?>'></script>

使用绝对路径会如下错误:
Warning: filemtime(): stat failed for https://www.77nn.net/wp-content/themes/wodown/static/css/base.css in /www/wwwroot/www.77nn.net/wp-content/themes/wodown/base.php on line 129
可使用get_template_directory()函数获取主题模板目录。
wordpress最佳引用脚本js文件函数wp_enqueue_script:

function theme_scripts() {
	wp_enqueue_style( 'style', get_stylesheet_uri(), array() , filemtime(get_template_directory() . '/style.css'));
	wp_enqueue_script( 'script', get_template_directory_uri().'/js/script.js', array(), filemtime(get_template_directory() . '/js/script.js') , true );
}
add_action( 'wp_enqueue_scripts', 'theme_scripts' );

以上代码的css和js文件根据自己的实际路径修改。


未经允许禁止转载
本文地址: https://www.77nn.net/4489.html
版权声明:本文为原创文章,版权归 讯沃blog 所有,未经允许,禁止任何单位或个人转载!

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝、微信、QQ扫一扫,即可进行扫码打赏哦

评论0

3 + 8 =

社交账号快速登录