WordPress 完美去除表情代码window._wpemojiSettings和DNS Prefetch
从 WordPress 3.9.x 升级至 4.x 之后,访问首页源代码,发现头部无缘无故多了一大堆代码,可以判断肯定是 WordPress 自带的,因为之前的旧版本并没有。从“window._wpemojiSettings”字眼中可以看出这应该是关于表情的,我的小站不用表情,即使用也不会用 WP 系统自带的,所以这堆代码对我而言毫无用处,放在首页头部还会影响我的网页加载速度,绝对要去除!
方法很简单,在 functions.php 文件中植入以下代码:
/**移除window._wpemojiSettings**/ 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_action( 'embed_head','print_emoji_detection_script'); 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');
这样一来,再打开首页源代码,发现以上的 window._wpemojiSettings 表情代码都已经清空了,但是这句话还在:
这是一句 DNS 预读取代码,s.w.org 是 WordPress 官网的,关于此项请移步至:DNS Prefetch 预读取到底是什么意思?如何正确使用?
同样的,在 functions.php 文件中加入以下代码即可去除 DNS Prefetch:
remove_action( 'wp_head', 'wp_resource_hints', 2 );
听说下面的代码兼容性更好,反正我用上面的也搞定了。
function remove_dns_prefetch( $hints, $relation_type ) { if ( 'dns-prefetch' === $relation_type ) { return array_diff( wp_dependencies_unique_hosts(), $hints ); } return $hints; } add_filter( 'wp_resource_hints', 'remove_dns_prefetch', 10, 2 );
- 属于分类:技术乐园
- 本文标签:
- 流行热度:超过 1,721 人阅读
- 生产日期:2019年03月13日 - 14点51分23秒
- 相关内容: