I’m trying to dequeue/deregister styles that are unneccesarry(WooCommerce,Contact form 7) from all post/pages of my wordpress website.
Tried offical WooCommerce’s way to disable these extra styles and scripts, but it’s not dequeue-ing those since styles are still loaded in the source code and Google PageSpeed Insights is still showing them as being rendered; so:
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' );
in functions.php
Isn’t working. I also tried to remove them like this:
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 );
Pointing at specific style id wc-block-vendors-style-css
and setting PHP_INT_MAX
.
It’s still not removing that specific style.
Notes:
This functions.php
belongs to the child theme of a custom, redone twenty-twenty WordPress theme and cache has been cleared. I’ve tried most of the answers here from the StackOverflow of users’ having similar issues, but not a single one worked.
Woocommerce support is enabled in the theme.
How to dequeue/deregister styles and scripts with WordPress 5.6 in 2021?
3
Answers
I've figured out that in order to remove those styles the Woocomerce integration in the active theme was required.
This solved my issue.
According to @Aliakseyenka Ihar – I’ve tested myself,
When I added
deregister
beforewp_dequeue_style
– it removes the vendor-styleOr ninja way
If your stylesheet is registered and enqueued correctly then…
Or you can try this way: