• 欢迎访问吾爱教程网,本站提供各类使用教程。善用搜索是一种能力
  • 购买空间到www.5ahl.com,有问题先来本博客查找答案
  • 广告位招商,详情联系QQ361825255
  • 吾爱互联业务报价表请查看《吾爱互联业务报价表》
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吾爱互联吧
  • 吾爱互联的淘宝店铺已经开张了哦,传送门:https://shop163382157.taobao.com

禁止 WordPress 4.6版本头部 dns-prefetch 加载的 s.w.org

网站模板 吾爱互联 4年前 (2016-11-04) 466次浏览 0个评论 扫描二维码

如果你和吾爱一样把你的WordPress升级到4.6以后,你会发现页面源代码的头部会多出一行 <link rel=’dns-prefetch‘ href=’//s.w.org’ />,WordPress 4.6在头部添加dns-prefetch,应该是为了从s.w.org预获取表情和头像,目的是提高网页加载速度 ,但s.w.org国内根本无法访问,预获取和提高速度什么的都是咸吃萝卜淡操心,没用处不说,反而可能会影响速度,对于像吾爱这么追求极致的人,第一反映肯定就是禁用删除这行代码咯。

 

废话不多说,上代码,WordPress惯用办法就是把以下代码添加到主题的functions.php文件:

方法一

1
2
//禁止WordPress头部加载s.w.org
add_filter( 'emoji_svg_url', '__return_false' );

这种方式只会移除WordPress头部加载s.w.org的这一条信息,如果你的WordPress还加载了其它的站外资源,WordPress依然会添加的,比如博客使用了百度的自动推送功能,就会自动加载一条dns-prefetch信息。

如果逆向完全的取消WordPress这个自动添加DNS预获取的功能,就需要使用到下面这两种方法了。

方法二

1
2
//移除WordPress头部加载DNS预获取(dns-prefetch)
remove_action( 'wp_head', 'wp_resource_hints', 2 );

虽然方法二的代码毕竟简单暴力,但是可能也会存在不足,毕竟是直接使用remove这样的方式移除的,所以可能不是非常的完善,如果你追求极致,或许方法三更加适合。

方法三

1
2
3
4
5
6
7
8
9
//移除WordPress头部加载DNS预获取(dns-prefetch)
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 );

从基层的代码去移除dns-prefetch这个rel属性链接是更为妥当的,以免影响其它的函数及功能或者资源调用。

最后最后吾爱再啰嗦的给大家不厌其烦的补充一个禁止WordPress 加载默认表情的代码:

1
2
3
// 移除emoji表情script
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' );

这两句主要就是禁止WordPress加载emoji表情的js,如果是在WordPress 4.6版本以后,记得加上方法一中的代码移除dns-prefetch。


吾爱互联 , 版权所有丨如未注明 , 均为原创丨 转载请注明来自吾爱互联
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址