Sometimes it’s useful to add the async or defer attributes to your script calls in order to prevent that script from blocking the rest of your page from rendering. This is particularly useful with third party scripts which you do not host in the same place as the rest of your site.
If you need to load an enqueued script asynchronously in WordPress, or modify the
<script> element in any other way, you can use code like the following:
script_loader_tag filter was added in WordPress 4.1 for specifically this purpose. It is run whenever a script tag is generated by WordPress using the
wp_enqueue_script() function. In this example we compare the script
$handle against a list of known scripts that we want to load asynchronously.