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.
If your stylesheet is registered and enqueued correctly then…
… should remove it. That only works if the stylesheet was registered and/or enqueued with
wp_register_style
andwp_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
Deregister/Dequeue styles is best practice
https://codex.wordpress.org/Function_Reference/wp_deregister_style
https://codex.wordpress.org/Function_Reference/wp_dequeue_style
But you can use this filter too, to filter out styles with any condition: