Для одного скрипта
function add_async_attribute( $tag, $handle ) {
if ( 'my-js-handle' !== $handle ) {
return $tag;
}
return str_replace( ' src', ' async="async" src', $tag );
}
add_filter('script_loader_tag', 'add_async_attribute', 10, 2);
Для многих скриптов
function add_async_attribute( $tag, $handle ) {
// handles скриптов, которым нужен атрибут async
$scripts_to_async = array(
'my-js-handle',
'another-handle',
);
foreach( $scripts_to_async as $async_script ) {
if ( $async_script === $handle ) {
return str_replace( ' src', ' async="async" src', $tag );
}
}
return $tag;
}
add_filter( 'script_loader_tag', 'add_async_attribute', 10, 2 );