Precej pogosta težava spletnih trgovin z WooCommerce je pretirana obremenitev procesorja z zahtevami AJAX nakupovalnega vozička. Fix wc-ajax = get_refreshed_fragments High CPU Usage.
Prekomerna obremenitev procesov CPU s katerim koli trenutnim skriptom ne naredi nič drugega kot zmanjša hitrost nalaganja strani spletne trgovine, da bi dosegli nizko oceno SEO in uporabniške izkušnje. Manj naročil na spletnem mestu.
Kuprini
Kaj je in za kaj se uporablja poizvedba wc-ajax = get_refreshed_fragments
Za razumevanje vseh, s pomočjo tega skripta AJAX, WooCommerce omogočajo dodajanje izdelkov v košarico in posodabljanje nakupovalne košarice brez osveževanja spletne strani. Nakupovalni voziček bo asinhrono komuniciral z gostiteljskim strežnikom prek AJAX (asinhroni JavaScript in XML).
Privzeto, /?wc-ajax=get_refreshed_fragments
je prisoten na vseh straneh spletnega mesta za spremljanje dejanj Add to Cart uporabnika in spremembe, ki se lahko pojavijo v gradniku nakupovalne košarice. Ta dejanja so tista, ki sprožijo procese CPU in upočasnijo hitrost nalaganja spletnih strani. Včasih za 4-5 sekund, kar je veliko.
Popravljen wc-ajax = get_refreshed_fragments Visoko CPU Uporaba (onemogoči fragmente vozička AJAX)
Če ne uporabljate dinamičnega gradnika nakupovalnega vozička v glavi ali v drugem stalnem delu trgovine, je najbolje, da opustite dinamično posodabljanje in sledenje dejanj dodajanja/posodabljanja vozička.
Lahko ga onemogočite AJAX Cart Fragments na arhivskih straneh in uporabnike preusmeri neposredno v nakupovalno košarico, ko je izdelek dodan v košarico.
WooCommerce → Settings → Products.
Če želite pustiti ta skript aktiviran "Add to Cart Ajax", vendar ne za zagon na prvi strani trgovine, uredite datoteko functions.php trenutne teme in dodajte naslednjo kodo:
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 scenariju, kjer poleg strani WooCommerce imate tudi blog ali druge personalizirane strani, na katerih ni izdelkov, je dobra ideja, da onemogočite njihove fragmente.
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');
}
Popolna deaktivacija in fix wc-ajax = get_refreshed_fragments High CPU Usage (Disable AJAX Cart Fragments) to se naredi z naslednjo kodo:
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 izbiri enega od teh načinov (zlasti zadnjega) boste takoj opazili povečanje hitrosti nalaganja spletne trgovine in precej manjšo porabo virov na procesorju (CPU).