script type="text/javascript" is optional in HTML5 and all browsers (even old ones) recognize JavaScript without it. I am building an HTML5 site and want my script output to be consistent. However, scripts that use the WordPress enqueue function are printed withtype="text/javascript".

CSS is also printed with type="text/css", which is also not needed.

I can't find a filter to remove those properties. Is there one?


This is hardcoded in WP_Scripts->do_item() method ( source ) and probably same for styles. So it cannot be filtered.

As alternative you can extend class with modified version of this method and replace instance in global $wp_scripts variable.

| improve this answer | |
  • 1
    Actually the style loader is a little better in that sense, you can hook onto style_loader_tag and adjust whatever parts of the link element(ie. <link =""> etc..) you like, there's unfortunately no equivalent for the script loader... :( – t31os Jan 30 '11 at 16:39
  • Rarst, can you elaborate on how to do this? Thanks – envysea Oct 1 '13 at 17:12
  • @envysea it's not something I would recommend doing in practice, especially if you not up to implementing and maintaining such solution on updates. – Rarst Oct 1 '13 at 18:37
  • Open issue in progress at core.trac.wordpress.org/ticket/13592 ++ See also script_loader_src filter at wordpress.stackexchange.com/questions/47206/… – here Nov 18 '14 at 7:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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