从 wordpress 中删除未使用的样式

Ogn*_*j3n 8 css php wordpress woocommerce

我正在尝试从我的 wordpress 网站的所有帖子/页面中出列/注销不需要的样式(WooCommerce,联系表 7)。

尝试了官方WooCommerce 的方法来禁用这些额外的样式和脚本,但由于样式仍在源代码中加载并且 Google PageSpeed Insights 仍将它们显示为正在呈现,因此不会使它们出列;所以:

add_filter( 'woocommerce_enqueue_styles', 'jk_dequeue_styles' );
function jk_dequeue_styles( $enqueue_styles ) {
    unset( $enqueue_styles['woocommerce-general'] );    // Remove the gloss
    unset( $enqueue_styles['woocommerce-layout'] );     // Remove the layout
    unset( $enqueue_styles['woocommerce-smallscreen'] );    // Remove the smallscreen optimisation
    return $enqueue_styles;
}

// Or just remove them all in one line
add_filter( 'woocommerce_enqueue_styles', '__return_false' );
Run Code Online (Sandbox Code Playgroud)

functions.php不工作。我也尝试像这样删除它们:

function remove_assets() {
    wp_dequeue_style('wc-block-vendors-style-css');
    wp_deregister_style('wc-block-vendors-style-css');
}
add_action( 'wp_print_styles', 'remove_assets', PHP_INT_MAX );
Run Code Online (Sandbox Code Playgroud)

指向特定的样式 idwc-block-vendors-style-css和 setting PHP_INT_MAX。它仍然没有删除该特定样式。

在此处输入图片说明

笔记:

functions.php属于自定义的子主题,重做的 220 个 WordPress 主题和缓存已清除。我已经尝试了来自 StackOverflow 的用户遇到类似问题的大部分答案,但没有一个有效。

主题中启用了 Woocommerce 支持。

如何在 2021 年使用 WordPress 5.6 出列/取消注册样式和脚本?

Ogn*_*j3n 0

我发现为了删除这些样式,需要将 Wocomerce 集成到活动主题中。

add_theme_support( 'woocommerce' );
Run Code Online (Sandbox Code Playgroud)

这解决了我的问题。