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 );

作者: LMS

天行贱,君子自强自息。

标签

《wordpress去掉css和js链接后带的版本》有15个想法

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注