精简头部:WordPress移除wp_head中无用的标签

分类:教程 日期:

WordPress 的 wp_head() 函数在头部生成了很多标签,有些可能用不到,为了源代码更加“美观”和提升页面加载速度,可以删除这些无用的标签,方法是在主题的 functions.php 文件加入以下需要移除的代码即可。

// 移除管理员工具条 admin bar
add_filter('show_admin_bar','__return_false');

// 移除 WordPress 版本号
remove_action('wp_head','wp_generator');

// 移除离线编辑器开放接口 EditURI
remove_action('wp_head','rsd_link');

// 移除 wlwmanifest
remove_action('wp_head','wlwmanifest_link');

// 移除 Emoji 表情
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');

// 移除文章 shortlink 短链接
remove_action('wp_head', 'wp_shortlink_wp_head');

// 移除本页面链接 url
remove_action('wp_head', 'rel_canonical');

// 移除上一篇 prev 和下一篇 next 文章链接
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head');

// 移除文章和评论 feed
remove_action( 'wp_head', 'feed_links', 2 );

// 移除分类等 feed
remove_action( 'wp_head', 'feed_links_extra', 3);

// 移除 wp-json 链接
remove_action('wp_head', 'rest_output_link_wp_head', 10);
remove_action('wp_head', 'wp_oembed_add_discovery_links', 10);

// 移除Emoji表情包
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');

// 移除辅助获取表情包 
remove_action('wp_head', 'wp_resource_hints', 2);

// 移除 block-library CSS
add_action('wp_enqueue_scripts', 'remove_block_library_css', 100);
function remove_block_library_css() {
	wp_dequeue_style( 'wp-block-library' );
}

// 禁用 REST API 功能
add_filter('rest_enabled', '__return_false');
add_filter('rest_jsonp_enabled', '__return_false');

或者打开 wp-includes 文件夹下的 default-filters.php 文件,找到对应的代码,对需要删除的内容进行注释即可。

也许有人会说,直接把 wp_head() 函数删除不是更直接?虽然删除 wp_head() 函数也可以达到效果,但会影响 WordPress 的部分功能,比如某些插件可能无法工作,因为这些插件也会在 wp_head() 里插入代码。

标签: