استایل ها و اسکریپت های WooCommerce را مدیریت کنیم؟
افزونه ووکامرس یکی از بهترین و پرطرفدارترین افزونه برای ساخت فروشگاه است! اما ووکامرس خیلی سنگین است و کدها و اسکریپت های css و javascript های زیادی تولید می کند و در قسمت هایی که اصلا ووکامرس دخیل نیست باز همه کدها و اسکریپت های ووکامرس هم لود و خوانده می شود، بدون اینکه استفاده شود در صفحات غیر ووکامرس
چگونه کدهای css و js های ووکامرس WooCommerce را مدیریت کنیم؟
اگر میخواهید کنترول بیشتری روی کدهایی که در ظاهر صفحه دارید مدیریت کنید از این تابع که یک شرط برای جدا کردن css ها و js ها استفاده میکند. برای استفاده باید کدهای زیر را به انتهای function.php قالب خود بزارید.
چند راه دیگر هم وجود دارد در سایت خود ووکامرس میتوانید ببینید ولی بیشتر برای توسعه دهندگان ووکامرس که برای طراحی قالب اختصاصی خود میتوانند از این کدهای پیش فرض ووکامرس Disable the default stylesheet استفاده کنید.
پیشنهاد میکنیم حتما مقاله بهینه سازی سرعت سایت وردپرس را مطالعه کنید.
// Manage WooCommerce styles and scripts. ------------------------
function hx_woocommerce_script_cleaner() {
// Remove the generator tag ----------
remove_action( 'wp_head', array( $GLOBALS['woocommerce'], 'generator' ) );
// XooCommerce in the store, remove all the cruft---------------
if ( ! is_woocommerce() && ! is_cart() && ! is_checkout() ) {
wp_dequeue_style( 'woocommerce_frontend_styles' );
wp_dequeue_style( 'woocommerce-general');
wp_dequeue_style( 'woocommerce-layout' );
wp_dequeue_style( 'woocommerce-smallscreen' );
wp_dequeue_style( 'woocommerce_fancybox_styles' );
wp_dequeue_style( 'woocommerce_chosen_styles' );
wp_dequeue_style( 'woocommerce_prettyPhoto_css' );
wp_dequeue_script( 'selectWoo' );
wp_deregister_script( 'selectWoo' );
wp_dequeue_script( 'wc-add-payment-method' );
wp_dequeue_script( 'wc-lost-password' );
wp_dequeue_script( 'wc_price_slider' );
wp_dequeue_script( 'wc-single-product' );
wp_dequeue_script( 'wc-add-to-cart' );
wp_dequeue_script( 'wc-cart-fragments' );
wp_dequeue_script( 'wc-credit-card-form' );
wp_dequeue_script( 'wc-checkout' );
wp_dequeue_script( 'wc-add-to-cart-variation' );
wp_dequeue_script( 'wc-single-product' );
wp_dequeue_script( 'wc-cart' );
wp_dequeue_script( 'wc-chosen' );
wp_dequeue_script( 'woocommerce' );
wp_dequeue_script( 'prettyPhoto' );
wp_dequeue_script( 'prettyPhoto-init' );
wp_dequeue_script( 'jquery-blockui' );
wp_dequeue_script( 'jquery-placeholder' );
wp_dequeue_script( 'jquery-payment' );
wp_dequeue_script( 'fancybox' );
wp_dequeue_script( 'jqueryui' );
}
}
add_action( 'wp_enqueue_scripts', 'hx_woocommerce_script_cleaner', 99 );