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

wordpress 加载的 JS 和 CSS 后面都带有一个版本参数,例如 ?ver=2.23。这对 wordpress 主题及网站的安全性会造成相当大的威胁,这样一来,就泄露了你正在使用的 WP 的版本了,那么我们使用 WordPress 建站首要清除的就是 wordpress 头部加载的 js 代码(jquery 框架),通过去除 js 和 css 版本可以减少网络连接次数,加快网站打开速度。只需在你主题的 functions.php 文件里加下以下函数保存即可。其实方法也很简单,只需在你主题的 functions.php 文件里加下以下函数保存即可:

/**
* 移除WordPress加载的JS和CSS链接中的版本号
*/
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 );

这样就移除了 WordPress 加载的 JS 和 CSS 链接中的版本号,但是有些用户需要只移除 WordPress 版本号那么就需要用到下面的代码:

/**
 * 移除 WordPress 加载的JS和CSS链接中的版本号
 */
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’ ) 获取 WordPress 的版本号。这样就只移除添加 WP 的版本号,其他版本号不移除。

功能扩展

最后清除其他的,或者在 if 条件下有选择性地进行清除:

 // WordPress Emoji Delete
 //remove_action( 'wp_head', 'wp_enqueue_scripts', 1 );
 remove_action( 'admin_print_scripts' , 'print_emoji_detection_script');
 remove_action( 'admin_print_styles' , 'print_emoji_styles');
 remove_action( 'wp_head' , 'print_emoji_detection_script', 7);
 remove_action( 'wp_print_styles' , 'print_emoji_styles');
 remove_filter( 'the_content_feed' , 'wp_staticize_emoji');
 remove_filter( 'comment_text_rss' , 'wp_staticize_emoji');
 remove_filter( 'wp_mail' , 'wp_staticize_emoji_for_email');
 remove_action( 'wp_head', 'rsd_link' );
 remove_action( 'wp_head', 'feed_links', 2 ); //移除feed
 remove_action( 'wp_head', 'feed_links_extra', 3 ); //移除feed
 remove_action('wp_head','wlwmanifest_link');//移除head中的rel="wlwmanifest"
 remove_action( 'wp_head', 'rest_output_link_wp_head', 10 );
 remove_action( 'wp_head', 'wp_oembed_add_discovery_links', 10 );
 remove_action( 'wp_head', 'wp_generator' ); //移除WordPress版本
 remove_action( 'wp_head', 'rel_canonical' );
 remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
 remove_action( 'wp_head', 'locale_stylesheet' );
 
add_filter( 'emoji_svg_url', create_function( '', 'return false;' ) );//禁用emoji预解析
 
//禁止加载WP自带的jquery.js
 if ( !is_admin() ) { // 后台不禁止
 function my_init_method() {
 wp_deregister_script( 'jquery' ); // 取消原有的 jquery 定义
 }
 add_action('init', 'my_init_method');
 }

最后查看网站首页源代码,除了加载所用主题目录下的 style.css 之外,不会再加载 wordpress 自动生成的其他头部代码。

http://xzh.i3geek.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请不要用于商业用途及非法用途,否则后果自负!
3. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"qq301.com",如遇到无法解压的请联系管理员!
资源客是一个优秀的分享资源站,本站资源均为各位友友分享而来,特殊原创会标明如有侵犯版权等可联系删除

资源客 » 移除WordPress加载的JS和CSS链接中的版本