在wordpress的header.php文件中,要加入wp_head()这个函数,这个函数的一个作用是让管理员登录时,头部显示正常;另外一个作用据说是在使用一些插件时,需要头部有这个函数才能起效。我之前制作的主题,没有使用这个函数,管理员登录时,头部看上去CSS样式有些不协调,当然,如果管理员不登录是不影响的。但担心一些插件需要这个函数,所以后面还是加上了这个函数。
加上函数以后,在源码中,可以看到出现了很多乱七八糟的代码,多余的链接、CSS、JS等等。通过百度查询,测试,最终把这些多余的东西全部去掉了(头部不加wp_head这个函数,就不会出现这些多余的东西)。代码如下:
//移除顶部多余信息
remove_action( 'wp_head', 'rest_output_link_wp_head', 10 );
remove_action( 'wp_head', 'wp_oembed_add_discovery_links', 10 );
remove_action( 'wp_head', 'print_emoji_detection_script', 7);//移除WordPress头部多出window._wpemojiSettings
remove_action( 'wp_print_styles', 'print_emoji_styles' );//移除顶部img.emoji下的CSS代码
remove_action( 'wp_head', 'wp_resource_hints', 2 );//去除头部添加dns-prefetch
remove_action( 'wp_head', 'feed_links', 2 ); //去除文章feed
remove_action( 'wp_head', 'rsd_link' ); //针对Blog的远程离线编辑器接口
remove_action( 'wp_head', 'wlwmanifest_link' ); //Windows Live Writer接口
remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 ); //移除后面文章的url
remove_action( 'wp_head', 'start_post_rel_link', 10, 0 ); //移除最开始文章的url
remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );//自动生成的短链接
remove_action( 'wp_head', 'wp_generator' ); // 移除版本号
remove_action('wp_head', 'index_rel_link');//当前文章的索引
remove_action('wp_head', 'feed_links_extra', 3);// 额外的feed,例如category, tag页
remove_action('wp_head', 'adjacent_posts_rel_link', 10, 0); // 上、下篇.
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );//rel=pre
remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0 );//rel=shortlink
remove_action('wp_head', 'rel_canonical' );
wp_deregister_script('l10n');
remove_action('wp_head','rsd_link');//移除head中的rel="EditURI"
remove_action('wp_head','wlwmanifest_link');//移除head中的rel="wlwmanifest"
remove_action('wp_head','rsd_link');//rsd_link移除XML-RPC
remove_filter('the_content', 'wptexturize');//禁用半角符号自动转换为全角
//移除头部多余.recentcomments样式
function Fanly_remove_recentcomments_style() {
global $wp_widget_factory;
remove_action( 'wp_head', array( $wp_widget_factory->widgets['WP_Widget_Recent_Comments'], 'recent_comments_style' ) );
}
add_action( 'widgets_init', 'Fanly_remove_recentcomments_style' );//移除头部多余.recentcomments样式代码结束
// 移除顶部多余信息结束
上面的代码是融合了很多篇文章,整理出来的,把上面的代码复制到functions.php这个文件中,就可以了。
虽然已经去掉了这些东西,但是我怀疑这样的效果跟没有加wp_head()这个函数的效果是一样的了,很多插件估计还是没法生效了。所以建议直接不用wp_head这个函数,毕竟用了这个函数,程序执行起来就更慢了。