wordpress去掉css和js链接后带的版本

我一直觉得在链接后面带个版本是个非常酷的形式,今天在老外博客那看了据说带版本的链接不利于缓存,于是决定把它去掉。

其实本身我对于这种带版本的链接也有头疼的地方:我不知道怎么让它自动获得文件内定义的版本号!,如果不填就都自动带上当前使用的 wordpress 的版本,一个个填其实也很麻烦,于是老外给了我去掉这个链接后自带版本的借口,直接干掉了。

对于链接后带版本不利于缓存的问题我也比较困惑,我自己遇到的实际情况是:当我在线修改了 css 文件后,带版本的链接通常有很严重的缓存,只有去掉了版本后才能看到修改后的样式,对于缓存不了解的我也只能人家说啥是啥了。

WordPress 官方对于这个带版本的说法貌似也是涉及缓存的,看官方文档的意思好像是建议填写的,只是我不懂英文,看不明白呢!

This parameter is used to ensure that the correct version is sent to the client regardless of caching, and so should be included if a version number is available and makes sense for the script/stylesheet.

下面是方法,第一种是老外那看到的,我不忍心再往 functions.php 插内容,就用第二种方法,第二种方法是根据 wordpress 官方函数介绍弄的。

一、代码方法

将下面的代码放到 functions.php 文件里:

function remove_script_version( $src ){
  return remove_query_arg( 'ver', $src );
}
add_filter( 'script_loader_src', 'remove_script_version', 15, 1 );
add_filter( 'style_loader_src', 'remove_script_version', 15, 1 );

二、引用时用 null 替换单引号

WordPress 引用 css 文件用的是 wp_enqueue_style 函数,引用 js 用的是 wp_enqueue_script 函数,默认的格式都是

wp_enqueue_script( '自定义链接id', 'js文件地址', '', '版本' );
wp_enqueue_style( '自定义链接id', 'css文件地址', '', '版本' );

只要在上面的两个函数里,在版本的的那个位置用 null 替换就 ok 了,比如:

wp_enqueue_style( '自定义链接id', 'css文件地址', '', null );

THE END

评论 15

  1. 🏅🏅

    我也稀饭带上版本号(最后修改日期)...这样就可以强制刷新了,css js统统都加~就差图片了...

    1. 我本来是喜欢的,后来又不喜欢了,现在因为这个缓存问题又加上了。

  2. 🏆🏆

    人家都是要给链接加版本号,便于识别维护啥的,你这却要去掉……

    1. 嘿嘿,是不是很牛逼,反其道行之!不用太葱白我

    2. 🏆🏆

      其实我也喜欢“干干净净”的,幸好我的主题上从没见过版本号,省事了。

  3. 🏆🏅

    看是看懂了。可是没弄明白这么做有什么意义。

    1. 嘿嘿,还是有意义的,比如一楼就觉得带了版本号感觉吊炸天,比如我就觉得去掉版本号干净舒服。虽然只有自己知道,哈哈

  4. 🏆🏆🏅

    随便吧,我个人对代码不是很懂,所以无所谓了,哈哈哈

  5. 🏅🏅🏅

    我不折腾了,昨天搬家折腾死了。、

  6. 🏅

    我个人还是喜欢带上版本号的,吊炸天有木有

    1. 我以前也一直这么认为的。

发表评论

幸会!