web-dev-qa-db-ja.com

プラグインからwp_enqueue_styleを使用してスタイルシートを追加したときにDEFERまたはASYNC属性を表示させる方法

私のCSSおよびJSリソースのほとんどすべては、リソースに追加されたASYNCまたはDEFERタグで延期することができます。これにより、ページの読み込み時間が大幅に短縮されます。しかし、wp_enqueue_style()がそれらを追加する際にHEADに追加されるこれらの属性を指定する方法がわかりません。 wp_enqueue_script()が追加の属性のパラメータを受け取るようには見えません。別の方法はありますか?

1
Doug

WP Code Snippet blogによると、これは1つの方法です。

このコードスニペットをfunctions.phpファイルに追加してください。

// add async and defer to javascripts

function wcs_defer_javascripts ($url) 
{
    if (strpos($url, '.js') === FALSE) { 
        return $url;
    }
    if (strpos($url, 'jquery.js')) { 
        return $url;
    }
    return "$url' async onload='myinit()";
}
add_filter('clean_url', 'wcs_defer_javascripts', 11, 1);
0
Doug