Pomerne častý problém v internetových obchodoch s WooCommerce je nadmerné zaťažovanie procesora AJAX požiadavkami nákupného košíka. Fix wc-ajax = get_refreshed_fragments High CPU Usage.
Nadmerné zaťaženie procesov CPU akýmkoľvek súčasným scenárom, nerobí nič iné, len aby znižuje rýchlosť načítania stránok internetového obchodu, priniesť nízke skóre SEO a používateľskej skúsenosti. Menej objednávok na stránke.
Obsah
Čo je a na čo slúži dotaz wc-ajax = get_refreshed_fragments
Aby každý pochopil, pomocou tohto skriptu AJAX WooCommerce povoliť pridávanie produktov do košíka a aktualizácia nákupného košíka bez obnovenia webovej stránky. Nákupný košík bude asynchrónne komunikovať s hostiteľským serverom prostredníctvom AJAX (Asynchronous JavaScript And XML).
Predvolene, /?wc-ajax=get_refreshed_fragments
je prítomný na všetkých stránkach lokality, aby ste mohli sledovať akcie Add to Cart používateľa a zmeny, ktoré sa môžu objaviť v miniaplikácii nákupného košíka. Tieto akcie spúšťajú procesy CPU a spomaliť rýchlosť načítania webových stránok. Niekedy o 4-5 sekúnd, čo je veľa.
Opravené wc-ajax = get_refreshed_fragments High CPU Použitie (Zakázať fragmenty košíka AJAX)
Ak nepoužívate miniaplikáciu dynamického nákupného košíka v hlavičke alebo v inej stálej časti obchodu, je najlepšie vzdať sa dynamickej aktualizácie a sledovania pridávania/aktualizácií akcií košíka.
Môžete to vypnúť AJAX Cart Fragments na archívnych stránkach a presmerovať používateľov priamo do nákupného košíka po pridaní produktu do košíka.
WooCommerce → Settings → Products.
Ak chcete nechať tento skript aktivovaný "Add to Cart Ajax", ale aby sa nespustil na prvej stránke obchodu, upravte súbor functions.php aktuálnej témy a pridajte nasledujúci kód:
add_action ('wp_enqueue_scripts', 'dequeue_woocommerce_cart_fragments', 11);
function dequeue_woocommerce_cart_fragments () {if (is_front_page ()) wp_dequeue_script ('wc-cart-fragments'); }
V scenári, kde okrem stránok WooCommerce máte tiež blog alebo iné personalizované stránky, na ktorých nie sú žiadne produkty, je dobré fragmenty z nich zakázať.
add_action ('wp_enqueue_scripts', 'dequeue_woocommerce_cart_fragments', 11);
function dequeue_woocommerce_cart_fragments () {
if (is_front_page () || is_single ()) wp_dequeue_script ('wc-cart-fragments');
}
Celková deaktivácia a fix wc-ajax = get_refreshed_fragments High CPU Usage (Disable AJAX Cart Fragments) robí sa to pomocou nasledujúceho kódu:
add_action ('wp_enqueue_scripts', 'dequeue_woocommerce_styles_scripts', 99);
function dequeue_woocommerce_styles_scripts () {
if (function_exists ('is_woocommerce')) {
if (! is_woocommerce () &&! is_cart () &&! is_account_page () &&! is_checkout ()) {
# Styles
wp_dequeue_style ('woocommerce-general');
wp_dequeue_style ('woocommerce-layout');
wp_dequeue_style ('woocommerce-smallscreen');
wp_dequeue_style ('woocommerce_frontend_styles');
wp_dequeue_style ('woocommerce_fancybox_styles');
wp_dequeue_style ('woocommerce_chosen_styles');
wp_dequeue_style ('woocommerce_prettyPhoto_css');
# Scripts
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-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 ('fancybox');
wp_dequeue_script ('jqueryui');
}
}
}
Po výbere jednej z týchto metód (najmä tej poslednej) okamžite zaznamenáte zvýšenie rýchlosti načítania internetového obchodu a oveľa nižšiu spotrebu zdrojov na procesore (CPU).