How To Deregister & Dequeue Style Sheets

WordPress includes 2 functions which you can use in your child themes functions.php file to deregister and dequeue style sheets for themes and plugins.

Deregister a CSS file that was registered with wp_register_style().

wp_deregister_style()

Dequeue a CSS file that was enqueued with wp_enqueue_style().

wp_dequeue_style()

Using the same function, you can correctly enqueue your own style sheets.

add_action( 'wp_enqueue_scripts', 'remove_default_stylesheet', 20 );

function remove_default_stylesheet() {
    
    wp_dequeue_style( 'original-enqueue-stylesheet-handle' );
    wp_deregister_style( 'original-register-stylesheet-handle' );

    wp_register_style( 'new-style', get_stylesheet_directory_uri() . '/new.css', false, '1.0.0' ); 
    wp_enqueue_style( 'new-style' );

}

Simply replace original-enqueue-stylesheet-handle with the name of the handle that was used to enqueue and/or register the default style sheet for any plugin or parent theme.

This code enables you to move a plugins style sheet to your child theme and style it there so any plugin updates don’t over-write your custom styling for the plugin.

You could also use this code to remove the styles from a parent theme and add your own in your child theme.

If you don’t want to enqueue a new style sheet for a plugin or theme, you can simply add the CSS code at the end of your child themes style.css file.

Related Solutions