「自学哈网」禁止 WordPress 4.6 版本头部 dns-prefetch 加载的 s.w.org
如果你和子凡一样把你的 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。
本站所有资源来源于网络,分享目的仅供大家学习和交流!如若本站内容侵犯了原著者的合法权益,可联系邮箱976157886@qq.com进行删除。
自学哈专注于免费提供最新的分享知识、网络教程、网络技术的资源分享平台,好资源不私藏,大家一起分享!
自学哈网 » 「自学哈网」禁止 WordPress 4.6 版本头部 dns-prefetch 加载的 s.w.org