WordPress教程

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

阿里云

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

  1. /**
  2. * 移除WordPress加载的JS和CSS链接中的版本号
  3. */
  4. function wpdaxue_remove_cssjs_ver( $src ) {
  5. if( strpos( $src, 'ver=' ) )
  6. $src = remove_query_arg( 'ver', $src );
  7. return $src;
  8. }
  9. add_filter( 'style_loader_src', 'wpdaxue_remove_cssjs_ver', 999 );
  10. add_filter( 'script_loader_src', 'wpdaxue_remove_cssjs_ver', 999 );
也想出现在这里?联系我们
创客主机

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

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

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

功能扩展

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

  1.  // WordPress Emoji Delete
  2.  //remove_action( 'wp_head', 'wp_enqueue_scripts', 1 );
  3.  remove_action( 'admin_print_scripts' , 'print_emoji_detection_script');
  4.  remove_action( 'admin_print_styles' , 'print_emoji_styles');
  5.  remove_action( 'wp_head' , 'print_emoji_detection_script', 7);
  6.  remove_action( 'wp_print_styles' , 'print_emoji_styles');
  7.  remove_filter( 'the_content_feed' , 'wp_staticize_emoji');
  8.  remove_filter( 'comment_text_rss' , 'wp_staticize_emoji');
  9.  remove_filter( 'wp_mail' , 'wp_staticize_emoji_for_email');
  10.  remove_action( 'wp_head', 'rsd_link' );
  11.  remove_action( 'wp_head', 'feed_links', 2 ); //移除feed
  12.  remove_action( 'wp_head', 'feed_links_extra', 3 ); //移除feed
  13.  remove_action('wp_head','wlwmanifest_link');//移除head中的rel="wlwmanifest"
  14.  remove_action( 'wp_head', 'rest_output_link_wp_head', 10 );
  15.  remove_action( 'wp_head', 'wp_oembed_add_discovery_links', 10 );
  16.  remove_action( 'wp_head', 'wp_generator' ); //移除WordPress版本
  17.  remove_action( 'wp_head', 'rel_canonical' );
  18.  remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
  19.  remove_action( 'wp_head', 'locale_stylesheet' );
  20.  
  21. add_filter( 'emoji_svg_url', create_function( '', 'return false;' ) );//禁用emoji预解析
  22.  
  23. //禁止加载WP自带的jquery.js
  24.  if ( !is_admin() ) { // 后台不禁止
  25.  function my_init_method() {
  26.  wp_deregister_script( 'jquery' ); // 取消原有的 jquery 定义
  27.  }
  28.  add_action('init', 'my_init_method');
  29.  }

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

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

已有 399 人购买
查看演示升级 VIP立刻购买

收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!