开发

新建 WordPress 主题时,禁用系统初始配置常用功能

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 中测试有效。

PUJI Design 朴及设计 (c) 2024. 沪ICP备17052229号