WordPress 不断的更新,也陆续增加了不少功能,但有不少功能对于一般的网站来说意义不大,产生冗余的代码,也会影响网站的加载速度。因此,在每次新开发一个主题时,将冗余的代码清除掉,保持网站代码的干净简洁,是优化 WordPress 网站的第一步。
以下内容我将分步去除不必要的代码与功能,最终实现网站前端的干净整洁。
注:以下代码如未特别说明,均添加在主题 function.php 文件中。
1、禁用页面顶部管理工具栏
以下提供三种方法,可选择任意一种方法实现,且该代码仅在网站前台页面禁用,后台页面仍然显示。
//禁用页面顶部管理工具栏
//方法一
add_filter( 'show_admin_bar', '__return_false' );
//方法二
show_admin_bar(false);
//方法三(非网站管理员禁用)
if ( ! current_user_can( 'manage_options' ) ) {
show_admin_bar( false );
}
2、移除head中 dns-prefetch
WordPress 4.6 在头部添加了 dns-prefetch,应该是为了从 s.w.org 预获取表情和头像,目的是提高网页加载速度 ,但 s.w.org 国内根本无法访问,预获取和提高速度没用处不说,反而可能会影响页面的加载速度。
以下提供两种解决方法,不同的方法说明可参考 https://zhangzifan.com/remove-s-w-org.html
//移除头部加载 DNS 预获取 (dns-prefetch)
remove_action('wp_head', 'wp_resource_hints', 2);
3、移除head中emoji表情script
//移除head中emoji表情script
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
6、移除 api.w.org 代码
参考地址:https://www.shopee6.com/web/web-tutorial/wordpress-api-json.html
//屏蔽 REST API
add_filter( 'json_enabled', '__return_false' );
add_filter( 'json_jsonp_enabled', '__return_false' );
add_filter( 'rest_enabled', '__return_false' );
add_filter( 'rest_jsonp_enabled', '__return_false' );
// 移除头部 wp-json 标签和 HTTP header 中的 link
remove_action( 'wp_head', 'rest_output_link_wp_head', 10 );
remove_action( 'template_redirect', 'rest_output_link_header', 11 );
7、移除远程发布元素
参考地址:http://www.ibloger.net/article/45.html
//移除远程发布元素
remove_action( 'wp_head', 'rsd_link' );
remove_action( 'wp_head', 'wlwmanifest_link' );
8、移除wordpress版本信息
//移除wordpress版本信息
remove_action( 'wp_head', 'wp_generator' );
9、移除底部 duotone svg 图标
在当前主题文件夹下添加 theme.json 文件,文件内容如下
{
"version": 1,
"settings": {
"color": {
"duotone": null
}
}
}
// 注:需强制刷新浏览器后才可看到效果
完成上面9步操作后,所有多余的功能与代码已清除干净。
以上代码在 WordPress 5.9 中测试有效。