!
也想出现在这里? 联系我们
广告位

WordPress 完美去除表情代码window._wpemojiSettings和DNS Prefetch

  从 WordPress 3.9.x 升级至 4.x 之后,访问首页源代码,发现头部无缘无故多了一大堆代码,可以判断肯定是 WordPress 自带的,因为之前的旧版本并没有。从“window._wpemojiSettings”字眼中可以看出这应该是关于表情的,我的小站不用K A y表情,即使用也不会用 WP 系统自带的,所以这堆代码对我而言毫无用处,放在首页头部还会影响我的网页加载速度,绝对要去除!

<link rel='dns-prefetch' href='https://s.w.org' />
<script type="text/javascript">
window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2.4\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2.4\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.hack520.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=4.9.4"}};
!function(a,b,c){function d(a,b){var c=String.fromCharCode;l.clearRect(0,0,k.width,k.height),l.fillText(c.apply(this,a),0,0);var d=k.toDataURL();l.clearRect(0,0,k.width,k.height),l.fillText(c.apply(this,b),0,0);var e=k.toDataURL();return d===e}function e(a){var b;if(!l||!l.fillText)return!1;switch(l.textBaseline="top",l.font="600 32px Arial",a){case"flag":return!(b=d([55356,56826,55356,56819],[55356,56826,8203,55356,56819]))&&(b=d([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]),!b);case"emoji":return b=d([55357,56692,8205,9792,65039],[55357,56692,8203,9792,65039]),!b}return!1}function f(a){var c=b.createElement("script");c.src=a,c.defer=c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var g,h,i,j,k=b.createElement("canvas"),l=k.getContext&&k.getContext("2d");for(j=Array("flag","emoji"),c.supports={everything:!0,everythingExceptFlag:!0},i=0;i<j.length;i++)c.supports[j[i]]=e(j[i]),c.supports.everything=c.supports.everything&&c.supports[j[i]],"flag"!==j[i]&&(c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&c.supports[j[i]]);c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&!c.supports.flag,c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.everything||(h=function(){c.readyCallback()},b.addEventListener?(b.addEventListener("DOMContentLoaded",h,!1),a.addEventListener("load",h,!1)):(a.attachEvent("onload",h),b.attachEvent("onreadystatechange",function(){"complete"===b.readyState&&c.readyCallback()})),g=c.source||{},g.concatemoji?f(g.concatemoji):g.wpemoji&&g.twemoji&&(f(g.twemoji),f(g.wpemoji)))}(window,document,window._wpemojiSettings);
</script>
<style type="text/css">
img.wp-smiley,
img.emoji {
display: inline !important;
border: none !important;
box-shadow: none !important;
height: 1em !important;
width: 1em !important;
margin: 0 .07em !important;
vertical-align: -0.1em !important;
background: none !important;
padding: 0 !important;
}
</style>

  方法很简单,在 functions.php 文件中植入以下代码:

/**移除window._wpemojiSettings**/
remove_action( 'admin_print_scripts', 'print_emoji_detection_script');
remove_action( 'admin_print_styles', 'print_emoji_styles');
remove_action( 'wmh_head', 'print_emoji_detection_script', 7);
remove_action( 'wmh_print_styles', 'print_emoji_styles');
remove_action( 'embed_head','print_emoji_detection_script');
remove_filter( 'the_content_feed', 'wmh_staticize_emoji');
remove_filter( 'comment_text_rss', 'wmh_staticize_emoji');
remove_filter( 'wmh_mail', 'wmh_staticize_emoji_for_email');

  这样一来,再打开首页源代码,发现以上的 window._wpemojiSettings 表情代码都已经清空了,但是这句话还在:

<link rel='dns-prefetch' href='https://s.w.org' />

  这是一句 DNS 预读取代码,s.w.org 是 WordPress 官网/ 0 7 d 7 b S的,关于此项请移步至:DNS Prefetch 预读取到底是什么意思?如何正确使用?

  同样的,在 functions.php 文件中加入以! h V下代码即可去除 DNS Prefetch:

remove_action( 'wmh_head', 'wmh_resource_hints', 2 );

  听说下面的代码兼容性更好,反正我用上面的也搞定了。

function remove_dns_prefetch( $hints, $relation_type ) {
if ( 'dns-prefetch' === $relation_type ) {
return array_diff( wmh_dependencies_unique_hosts(), $hints );
}
return $hints;
}
add_filter( 'wmh_resource_hints', 'remove_dns_prefetch', 10, 2 );

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WordPress 设置开启全站 HTTPS 的几个步骤

2020-12-30 22:45:10

WordPress教程

怎么在WordPress仪表盘上添加自定义信息模块?

2021-3-4 17:44:27

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索