I want to remove a CSS from loading in the header, this is the code that appears:

<link rel="stylesheet" id='my-css'  href="http://test.tld/wp-content/themes/mytheme/my.css?ver=3.5" type="text/css" media="all" />

I tried using these functions but it didn’t work:

wp_dequeue_style('my-css');
wp_deregister_style('my-css');

Is there other ways that the above CSS line can be removed without manually editing it in the template?

Thanks.

2 Answers
2

If your stylesheet is registered and enqueued correctly then…

function dequeue_my_css() {
  wp_dequeue_style('my-css');
  wp_deregister_style('my-css');
}
add_action('wp_enqueue_scripts','dequeue_my_css');
// add a priority if you need it
// add_action('wp_enqueue_scripts','dequeue_my_css',100);

… should remove it. That only works if the stylesheet was registered and/or enqueued with wp_register_style and wp_enqueue_style.

If it is not registered correctly then you will have to figure out what your theme did and undo that. It may require editing the template, depending on how the theme is written.

http://codex.wordpress.org/Function_Reference/wp_dequeue_style

http://codex.wordpress.org/Function_Reference/wp_deregister_style

Tags:

Leave a Reply

Your email address will not be published. Required fields are marked *