专栏首页DeveWorkWordPress 开发之让浏览器自动加载最新的CSS、JS文件(免刷新缓存)

WordPress 开发之让浏览器自动加载最新的CSS、JS文件(免刷新缓存)

在开发WordPress 主题的时候,如果频繁更新主题的CSS、JS文件但主题已经上线,如何让访客的浏览器获取最新的CSS、JS文件而非等到浏览器删除缓存后?下面就介绍一个简单的方法。

版本号参数

相信有过开发经验的童鞋都知道是用版本号参数控制。即原来比如说css 文件路径代码是如下面的:

http://devework.com/wp-content/themes/Devework/style.css

那么如果更新了css 文件,可以为此添加版本号,即改为:

http://devework.com/wp-content/themes/Devework/style.css?v=2

但是,在WordPress 中如果每修改一次就要手动更新版本号那太累了。如何让版本号自动更新(即?v=后面的数字自动更新)?

时间戳

想必你也知道了,用时间戳代替版本号。在WordPress 中,用时间戳代替版本号的处理方式可以更加方便一点。

http://devework.com/wp-content/themes/Devework/style.css?v=<?php echo time(); ?>

或者:

http://devework.com/wp-content/themes/Devework/style.css?v<?php echo filemtime($pathToCSS); ?>" />

WordPress 中呢?

有过WordPress 主题开发经验的都知道,WordPress 中引用主题的styl.css 文件的路径是直接使用函数<?php bloginfo('stylesheet_url'); ?>的,这么一来,在header.php 中的路径代码如下:

<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen, projection" />

虽然手动修改路径也可以,但我们并不推荐该方法,你可以hook一下该wp_enqueue_style() 函数。

将下面的代码添加到主题的functions.php 文件下即可为styl.css 文件添加时间戳版本号:

add_action( 'wp_enqueue_scripts', 'add_styles' ); function add_styles() { $css_file = get_stylesheet_directory() . '/css/style.css'; wp_enqueue_style( 'css-file', get_stylesheet_directory_uri().'/css/style.css', NULL, filemtime($css_file) ); }

js文件的话依照上面的照搬即可实现。

如此一来,就能保证浏览器每次访问都是最新的css、js文件,而非采用缓存。

本文参考国外网站paulund,感谢原作者!如有错误,欢迎雅正!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • WordPress 开发之让浏览器自动加载最新的CSS、JS文件(免刷新缓存)

    在开发WordPress 主题的时候,如果频繁更新主题的CSS、JS文件但主题已经上线,如何让访客的浏览器获取最新的CSS、JS文件而非等到浏览器删除缓存后?下...

    Jeff
  • PostCSS 插件postcss-lazyimagecss:自动填写width / height 属性

    postcss-lazyimagecss 是Jeff 基于gulp-lazyimagecss 开发的一个PostCSS 插件,实现的功能是在CSS 中自动添加w...

    Jeff
  • 删除 WordPress 导航菜单的多余 CSS 选择器(id或class)

    在默认情况下,WordPress 的导航菜单会输出很多如menu-item、menu-item-type-taxonomy、menu-item-object-c...

    Jeff
  • WordPress 开发之让浏览器自动加载最新的CSS、JS文件(免刷新缓存)

    在开发WordPress 主题的时候,如果频繁更新主题的CSS、JS文件但主题已经上线,如何让访客的浏览器获取最新的CSS、JS文件而非等到浏览器删除缓存后?下...

    Jeff
  • HTML中css和js链接版本号的用途

    在搜索引擎中搜索关键字 .htaccess 缓存,你可以搜索到很多关于设置网站文件缓存的教程,通过设置可以将css、js等不太经常更新的文件缓存在浏览器端,这样...

    阳光岛主
  • 4-9 css 文件的代码分割

    本节主要是介绍 MiniCssExtractPlugin 插件,该插件用于将 css 提取成单独的文件。

    love丁酥酥
  • HTML中css引入之import

    如admin.css和layui.css 这两个css.每个页面都需要使用,如果每个页面都引入两个,是不是很麻烦,这个时候,我们就也有使用@import这个了。

    凯哥Java
  • 浏览器默认样式、1px边框问题、css预编译

    参考链接: 移动端1px解决方案 vue-cli css相关 normalize.css

    Ewall
  • Webpack第四天

    在开发的时候,我们不仅仅需要改变js的时候去热更新,改变样式和HTML的时候同样要热更新。

    wade
  • Python爬虫入门教程 65-100 爬虫与反爬虫的修罗场,点评网站,字体反爬之三

    如何从<svgmtsi class="zrvm6"></svgmtsi>得到数字6呢

    梦想橡皮擦

扫码关注云+社区

领取腾讯云代金券