Cách tải WooCommerce CSS và JS chỉ trên các trang dành riêng cho cửa hàng trong WordPress

Khi bạn có một cửa hàng được hỗ trợ bởi WooCommerce trong trang web WordPress của mình, các nội dung như sau có thể đang tải trên tất cả các trang của trang web (tùy thuộc vào plugin / dịch vụ / chủ đề nào đang / đang hoạt động):

woocommerce-layout.css
woocommerce-smallscreen.css
woocommerce.css
hai mươi mười bảy.css

add-to-cart.min.js
jquery.blockUI.min.js
js.cookie.min.js
woocommerce.min.js
cart-fragment.min.js

Nếu bạn không có tính năng “Thêm vào giỏ hàng” trong các tiện ích WooCommerce điều hướng hoặc trên toàn trang web của mình trong thanh bên, bạn nên để nội dung chỉ tải trên các trang liên quan đến WooCommerce như trang Cửa hàng chính, trang Giỏ hàng, trang Thanh toán và trang Tài khoản của tôi.

Điều này sẽ giúp một chút trong việc giảm thời gian tải trang web cho khách truy cập của bạn.

Thêm phần sau vào functions.php của chủ đề con của bạn hoặc trong Đoạn mã:

add_action( 'get_header', 'sk_conditionally_remove_wc_assets' );
/**
 * Unload WooCommerce assets on non WooCommerce pages.
 */
function sk_conditionally_remove_wc_assets() {

    // if WooCommerce is not active, abort.
    if ( ! class_exists( 'WooCommerce' ) ) {
        return;
    }

    // if this is a WooCommerce related page, abort.
    if ( is_woocommerce() || is_cart() || is_checkout() || is_page( array( 'my-account' ) ) ) {
        return;
    }

    remove_action( 'wp_enqueue_scripts', [ WC_Frontend_Scripts::class, 'load_scripts' ] );
    remove_action( 'wp_print_scripts', [ WC_Frontend_Scripts::class, 'localize_printed_scripts' ], 5 );
    remove_action( 'wp_print_footer_scripts', [ WC_Frontend_Scripts::class, 'localize_printed_scripts' ], 5 );

}

Nguồn: https://gist.github.com/DevinWalker/7621777#gistcomment-1980453