简体   繁体   中英

Defer parsing javascript files in functions.php - wp_enqueue_script

does anyone know how to defer parsing for javascript files in functions.php??

This is what I have in my functions.php.

Thank you!

add_action( 'wp_enqueue_scripts', 'my_enqueue_assets' );
function my_enqueue_assets() {

    wp_enqueue_style( 'extra-style', get_stylesheet_directory_uri() . '/css/extra.css' );
    wp_enqueue_script( 'my-script', get_template_directory_uri() . '/js/scripts.js' );
    wp_enqueue_script( 'my-jquery', get_template_directory_uri() . '/js/jquery.js' );
    wp_enqueue_style( 'slicktheme', get_stylesheet_directory_uri() . '/slick-theme.css' );
    wp_enqueue_style( 'slickcss', get_stylesheet_directory_uri() . '/slick.css' );
    wp_enqueue_script( 'slick-jquery-min', get_template_directory_uri() . '/js/slick.min.js' );
    wp_enqueue_script( 'extra-js', get_template_directory_uri() . '/js/script.js' );

}

Add this code in function.php file This code add the defer attribute to your JavaScript files

function defer_parsing_of_js( $url ) {
    if ( is_user_logged_in() ) return $url; //don't break WP Admin
    if ( FALSE === strpos( $url, '.js' ) ) return $url;
    if ( strpos( $url, 'jquery.js' ) ) return $url;
    return str_replace( ' src', ' defer src', $url );
}
add_filter( 'script_loader_tag', 'defer_parsing_of_js', 10 );

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM