Charger les scripts asynchrone

Avec WordPress, il existe une multitude de façons de charger les sripts de votre site. La façon la plus répandue, et sans doutes la meilleure, est à l’aide du enqueue_script de WP dans le fichier functions.php. Il est aussi possible de charger les scripts asynchrones pour gagner de précieuses secondes lors du chargement de la page. Voici comment faire.

Premièrement, ajouter cette fonction au functions.php de votre thème :

// Async load
function async_scripts($url) {
    if ( strpos( $url, '#asyncload') === false )
        return $url;
    else if ( is_admin() )
        return str_replace( '#asyncload', '', $url );
    else
	return str_replace( '#asyncload', '', $url )."' async='async"; 
    }
add_filter( 'clean_url', 'async_scripts', 11, 1 );

Par la suite, il suffit de charger les scripts comme à l’habitude dans votre functions.php et d’y inclure #asyncload à la fin du chemin du fichier pour y ajouter async= »async ».

// Enqueue scripts
function enqueue_theme_scripts() {
    // wp_enqueue_script() syntax, $handle, $src, $deps, $version, $in_footer(boolean)
    wp_enqueue_script( 'plugins', get_template_directory_uri() . '/assets/js/plugins.min.js#asyncload', 'jquery', '', true );
    wp_enqueue_script( 'application', get_template_directory_uri() . '/assets/js/application.min.js#asyncload', 'jquery', '', true );
}
add_action( 'wp_enqueue_scripts', 'enqueue_theme_scripts');

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *