广告投放

如何禁用 WordPress 5.9 更新,移除向前台添加的内联样式和 Svg 图像等多余代码

WordPress 在 2022 年 1 月 25 日发布了 5.9 版本,取名为:Josephine

在此版本中发布了一个新的默认主题:2022, WordPress 历史上的第一个默认块主题。

这不仅仅是一个新的默认主题,同时也是使用 WordPress 主题的全新方式。

WordPress 对于前端的处理是越来越多,但对于后端 PHP 来说,支持的更少了,原以为会支持 PHP8.1 版本,但是体验后发现还是不太兼容 PHP 8.1。

最近的版本发布主要围绕着新版编辑器古腾堡 (Gutenberg) 古德堡编辑器,进行可视化、模块化。

而我还是继续使用原始的编辑器,暂时用不到区块编辑器,为什么呢?

因为我用 Markdown 写内容,并且自己写了插件进行解析操作,WordPress 目前只是相当于提供了功能、插件、主题的一些功能。

禁用更新

这些更新对我来说没有任何意义,所以我放弃了更新 WordPress 内核。

在主题的 functions.php 中添加:

// 禁用核心更新
add_filter('pre_site_transient_update_core', '__return_null');
remove_action('admin_init', '_maybe_update_core');

就可以移除更新检测和后台中 WordPress 5.9现已可用!请立即更新。的提示

移除向前台页面添加的内联样式 Css 和 Svg 图像等多余代码

如果你升级了 WordPress 5.9 ,你就会发现:

从 WordPress 5.9 开始,WordPress 会向前端页面的头部插入了 global-styles 内联样式,并向底部插入了很多的 svg 图像(主要是 duotone block,查看页面源代搜索 duotone 就能看到了)。

对于国内主题而言,主题本身有自己的特定 CSS 样式,根本用不到 WordPress 这个新加的样式和图像,让页面平白多出了许多冗余代码...

那么如何移除掉这些东西呢?

移除头部里的 Global-Styles 内联样式

在主题的 functions.php 中添加:

/**
 * WordPress 5.9 移除头部里的 global-styles 内联 css 样式
 * https://www.zz2zz.com/disable-gutenberg-style-and-duotone-svg-images.html
 */
function remove_global_styles(){
    wp_dequeue_style( 'global-styles' );
}
add_action( 'wp_enqueue_scripts', 'remove_global_styles' );

Copy

移除底部里的 Duotone Svg 图像

在首个版本中通过 WordPress 源代码来看,并没有预留直接禁止 duotone svg 图像的钩子方法,使用 remove_filter( 'render_block', 'wp_render_duotone_support', 10); 的方法,并不能移除。

而需要使用在 WordPress 5.9 中添加的 theme.json 这个配置文件才可以。

在所使用的主题的根目录中新建一个 theme.json 文件,写入以下代码:

{
    "version": 1,
    "settings": {
        "color": {
            "duotone": null
                }
        }
}

Copy

一键移除上面的内联样式和 SVG 图像(推荐)

在主题的 functions.php 中添加:

/**
 * 移除 WordPress 5.9 向前台页面添加的内联样式 css 和 svg 图像等多余代码
 * https://www.zz2zz.com/disable-gutenberg-style-and-duotone-svg-images.html
 */
function 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', 'remove_global_styles', 10, 0);

Copy

移除所有区块样式

在主题的 functions.php 中添加:

function remove_wp_block_library_css(){
    wp_dequeue_style( 'wp-block-library' );
    wp_dequeue_style( 'wp-block-library-theme' );
    wp_dequeue_style( 'wc-block-style' ); // 移除WOO插件区块样式
    wp_dequeue_style( 'global-styles' ); // 移除 THEME.JSON
}
add_action( 'wp_enqueue_scripts', 'remove_wp_block_library_css', 100 );

Copy

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
广告位招租919838898
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索