Wordpress 5.9 移除预设样式和底部 wp-duotone svg 图标
Wordpress 升级了 5.9 后,程序员又给加了许多料,一般是用不上,或者用不习惯,所以有些可以删了。
移除头部预设样式
在 functions.php
文件里 找到类似 add_action( 'wp_enqueue_scripts', 'custom_theme_style_and_script' );
的自定义主题 css 和 js 文件的函数里加入
wp_deregister_style( 'global-styles' );
wp_dequeue_style( 'global-styles' ); // 移除 THEME.JSON
wp_dequeue_style( 'wp-block-library' );
wp_dequeue_style( 'wp-block-library-theme' );
wp_dequeue_style( 'wc-block-style' ); // 移除WOO插件区块样式
或者直接在 functions.php
文件里加:
add_action( 'wp_enqueue_scripts', 'remove_global_styles' );
function remove_global_styles(){
wp_deregister_style( 'global-styles' );
wp_dequeue_style( 'global-styles' ); // 移除 THEME.JSON
wp_dequeue_style( 'wp-block-library' );
wp_dequeue_style( 'wp-block-library-theme' );
wp_dequeue_style( 'wc-block-style' ); // 移除WOO插件区块样式
}
移除页面底部插入的 wp-duotone-xxx svg 图标
方法1:暂时没找到钩子使用方法,需要修改源文件:
涉及这个 svg 图标的代码在 /wp-includes/block-supports/duotone.php
文件的 416 到 467 行, 涉及到 add_action
“admin_footer” 和 “wp_footer”。
所以,只要把 duotone.php
文件 463 行的 is_admin() ? 'admin_footer' : 'wp_footer'
改成 is_admin() ? 'admin_footer' : ''
,就好了,也就是把 wp_footer
删除。
方法2:在主题文件夹下添加 theme.json
文件,文件内容:
{
"version": 1,
"setting": {
"color": {
"duotone": null
}
}
}
通过钩子一次性移除上面两个
function oxcat_remove_global_styles(){
remove_action('wp_enqueue_scripts', 'wp_enqueue_global_styles');
remove_action('wp_footer', 'wp_enqueue_global_styles', 1);
}
add_action('after_setup_theme', 'oxcat_remove_global_styles', 10, 0);