wp_enqueue_scriptでasyncを追加する。

iPadアプリ、Duet Displayのすごさにビビってます。

WordPressでjsファイルを読み込むときに使用するwp_enqueue_script()ですが、タグを追加できないという欠陥不満点があります。

というわけでscript_loader_tagというフィルターフックを使って処理しましょう。

function add_scripts(){
 //jsを読み込み
 wp_enqueue_script( 'スクリプトの名前', get_template_directory_uri() . '/js/script.js', array(), '1.0.0', true );
}
add_action( 'wp_enqueue_scripts', 'add_scripts' );

//asyncを追加
function addasync_enqueue_script( $tag, $handle ) {
 if ( '読み込んだスクリプトの名前' !== $handle ) {
 return $tag;
 }
 return str_replace( ' src', ' async="async" src', $tag );
}
add_filter( 'script_loader_tag', 'addasync_enqueue_script', 10, 2);

以上です。