web-dev-qa-db-fra.com

Comment faire apparaître l'attribut DEFER ou ASYNC lorsque j'ajoute une feuille de style avec wp_enqueue_style à partir d'un plugin?

Presque toutes mes ressources CSS et JS peuvent être reportées avec une balise ASYNC ou DEFER ajoutée à la ressource. Cela peut améliorer considérablement les temps de chargement de mes pages. Cependant, je ne sais pas comment spécifier ces attributs à ajouter à la HEAD lorsque wp_enqueue_style () se charge de les ajouter. Il ne semble pas que wp_enqueue_script () prenne un paramètre pour les attributs supplémentaires. Y a-t-il un autre moyen?

1
Doug

Selon WP Extrait de code blog, il semble que ce soit un moyen:

Ajoutez cet extrait de code à votre fichier 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