WordPress去掉css和js链接后的版本

wordpress有一个wp_enqueue_script()方法加载脚本与样式,从而提高效率。但是这种方法会给js和cs文件加一个版本标识,不利于缓存,于是决定把它去掉。

去掉的方法有两个,都很简单:

一、代码方法

将下面的代码放到 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()
wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer );

参数解释:

$handle:用于区别 JS 名称,即标识字串 (string); $src:JS 的文件 URL (string); $deps:加载的 JS 所依存的其他 JS 标识字串数组 (array:string, 非必需); $ver:JS 的版本号,留空则使用当前 WP 版本号 (string, 非必需); $in_footer:是否放置到网页 HTML 底部加载 (boolean, 非必需)。
//函数:wp_enqueue_style()
wp_enqueue_style( $handle, $src, $deps, $ver, $media );

参数解释:

$handle:用于区别 CSS 的名称,即标识字串 (string); $src:CSS 的文件 URL (string); $deps:加载的 CSS 所依存的其他 CSS 标识字串数组 (array:string, 非必需); $ver:CSS 文件的版本号,留空则使用当前 WP 版本号 (string, 非必需); $media:用于加载 CSS 的头部标签 link 的 media 参数值 (string, 非必需)。

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

wp_enqueue_style( '标识字串', 'css文件地址', '', null );
标签:   |  
时间: 2016年04月15日下午16:46  |  
作者:
4 COMMENTS
  1. 2016/05/07
    成航先森

    这种CSS和JS链接在哪里?后台吗?

  2. 2016/07/15
    夏娜酱拌饭

    我反倒是把所有的css和js都打上了自己主题的版本,因为在使用CDN和缓存的时候版本可以作为区分~告诉浏览器资源更新了,这样可以避免不必要的请求 改了主题改个版本就不用管了0-0

  3. 2016/07/15
    那樊笼

    可以,不过我用的七牛,缓存了一大堆感觉很纠结=,=

LEAVE A REPLY
loading
正在赶回来……