1. David Wu首页
  2. WordPress
  3. 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 自动生成的其他头部代码。

原创文章,作者:DavidWu,如若转载,请注明出处:https://www.davidwu.net/archives/96011

服务项目 服务内容 收费标准(元)
开发定制 WordPress主题/插件开发定制 (以最终需求为准)
主题/插件汉化 汉化团队WordPress主题/插件,翻译率95% (以标的主题/插件的句子数量为准)
服务器环境配置 基于您现有服务器,搭建配置网站运行环境,结合我们多年来实战经验,可完美支持WordPress等PHP程序运行,并配置伪静态规则、优化目录权限等问题。服务器我们强烈推荐使用Linux系统。 100元/次
网站托管 若贵站目前尚无技术人员,无法完成服务器环境配置,可选择我们的网站托管服务,直接交付正常运行的WordPress站点,并且无需担心服务器的后续维护工作,一切都由我们来帮您完成。 标配套餐:1000元/年/站点 高配套餐:联系客服获取
网站加速优化 从服务器后端配置优化到WordPress数据库缓存、前端页面缓存、JS和CSS压缩合并,全方位优化网站加载速度,实现秒开。(此服务仅针对(云)服务器/VPS) 500元/次(仅站内优化200元/次)
主题配置 本站所有主题均支持,可快速实现,若有任何问题可以咨询客服解决,若您希望我们提供配置服务,可选购此服务。 英文主题安装 60元/次 汉化主题安装 30元/次
HTTPS配置 HTTPS已经不断普及,并且有着更高的安全性以及SEO上的优待。该服务收取的为服务费,SSL证书产生的费用请自行承担。 100元/次
网站搬家 迁移网站所有文件和数据库信息、网站相关配置的调整、以及迁移中的疑难问题故障排除。 标准收费:500元/次 若网站数据量大,需协商
网站运维 提供整站的运维服务,保证网站正常运行。包含:网站故障定位及排除、网站数据备份和恢复、网站攻击及木马等问题的处理等 标准收费:2000元/年 IP 5000以上需协商

发表评论

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