移除 WordPress 加载的JS和CSS链接中的版本号

在《正确加载 Javascript 和 CSS 到 WordPress》一文,我们讲到了通过 wp_enqueue_scriptwp_enqueue_style 加载 js 和 css 文件,通过这两个函数加载的 JS 和 CSS 后面都带有一个版本参数,例如 ?ver=3.6 (如果你在函数中添加了版本号,就显示添加的版本号;如果没有,就默认添加WordPress的版本号,这样一来,就泄露了你正在使用的WP的版本了)。下面就分享下 移除 WordPress 加载的JS和CSS链接中的版本号 的方法。

remove-cssjs-ver-wpdaxue_com

移除所有版本号

1
2
3
4
5
6
7
8
9
10
11
/**
 * 移除 WordPress 加载的JS和CSS链接中的版本号
 * https://www.wpdaxue.com/remove-js-css-version.html
 */
function wpdaxue_remove_cssjs_ver( $src ) {
	if( strpos( $src, 'ver=' ) )
		$src = remove_query_arg( 'ver', $src );
	return $src;
}
add_filter( 'style_loader_src', 'wpdaxue_remove_cssjs_ver', 999 );
add_filter( 'script_loader_src', 'wpdaxue_remove_cssjs_ver', 999 );

只移除WP的版本号

1
2
3
4
5
6
7
8
9
10
11
/**
 * 移除 WordPress 加载的JS和CSS链接中的版本号
 * https://www.wpdaxue.com/remove-js-css-version.html
 */
function wpdaxue_remove_cssjs_ver( $src ) {
	if( strpos( $src, 'ver='. get_bloginfo( 'version' ) ) )
		$src = remove_query_arg( 'ver', $src );
	return $src;
}
add_filter( 'style_loader_src', 'wpdaxue_remove_cssjs_ver', 999 );
add_filter( 'script_loader_src', 'wpdaxue_remove_cssjs_ver', 999 );

两个代码的不同就在于后者的第 6 行添加了 get_bloginfo( 'version' ) 获取WP的版本号。这样就只移除添加WP的版本号,其他版本号不移除。

倡萌

一个文科IT宅男,喜欢折腾WordPress和被它折腾 ^_^

9 条评论

  1. 我想问问这个代码我是要加到哪个部分?应该是解决 “WordPress移除阻止呈现的JavaScript 和 css”这个问题的吧?谢谢!

发表评论