禁止WordPress头部加载s.w.org

升级到WordPress 4.6之后,有童鞋发现头部加载了一个:

<link rel=’dns-prefetch’ href=’//s.w.org’>

WordPress在头部添加dns-prefetch,应该是为了从s.w.org预获取表情和头像,目的是提高网页加载
速度 ,但s.w.org国内根本无法访问,什么预获取、什么提高速度,都是泡影,不仅没用处,反而可
能会影响速度,那就禁止它。

将下面的代码添加到主题functions.php模板中:

方法一

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 );

方法二貌似兼容性更好些。

附带一个禁止加载表情代码

// Remove emoji script
remove_action( ‘wp_head’, ‘print_emoji_detection_script’, 7 );
remove_action( ‘wp_print_styles’, ‘print_emoji_styles’ );
add_filter( ’emoji_svg_url’, ‘__return_false’ );

参考:https://wordpress.org/support/topic/remove-the-new-dns-prefetch-code/