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

Need More Help?

Join WP Sites to get full access to all tutorials & code.

  • Support for installation & modification of existing PHP code
  • Help with Genesis & StudioPress theme customisation
  • Access all tutorials & code snippets
  • Ask questions in the comments & get answers
  • Education - Request video explaining how the code works and what functions are included

Click Here to Learn More