Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

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.

share|improve this question
    
wpseek.com/wp_deregister_style –  Anagio Feb 12 '13 at 4:59
add comment

1 Answer

up vote 0 down vote accepted

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

share|improve this answer
    
How about if the css loaded is from a child theme. How to remove them from within the parent theme only? –  Codex Meridian Feb 12 '13 at 5:48
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.