Et ret almindeligt problem på netbutikker med WooCommerce er den overdrevne belastning af processoren med indkøbskurvens AJAX-anmodninger. Fix wc-ajax = get_refreshed_fragments High CPU Usage.
Overdreven belastning af processer CPU ved enhver tilstedeværende skrift, ikke gør andet end at reducerer indlæsningshastigheden af onlinebutikssiderne, for at give en lav SEO- og brugeroplevelsesscore. Færre ordrer på siden.
Indhold
Hvad er og hvad bruges wc-ajax = get_refreshed_fragments-forespørgslen til
Til alles forståelse, ved hjælp af dette AJAX-script, WooCommerce tillade tilføje produkter til indkøbskurven og opdatere indkøbskurven uden at opdatere websiden. Indkøbskurven vil kommunikere asynkront med værtsserveren gennem AJAX (Asynchronous JavaScript And XML).
Som standard, /?wc-ajax=get_refreshed_fragments
er til stede på alle siderne på webstedet for at følge handlingerne Add to Cart af brugeren og de ændringer, der kan vises i indkøbskurv-widgetten. Disse handlinger er det, der sætter processer på CPU og sænke indlæsningshastigheden af websider. Nogle gange med 4-5 sekunder, hvilket er meget.
Rettet wc-ajax = get_refreshed_fragments Høj CPU Brug (Deaktiver AJAX Cart Fragments)
Hvis du ikke bruger en dynamisk indkøbskurv-widget i overskriften eller i et andet permanent område af butikken, er det bedst at opgive den dynamiske opdatering og sporingen af tilføjelse/opdatering af indkøbskurvhandlinger.
Du kan deaktivere den AJAX Cart Fragments på arkivsider og omdirigere brugere direkte til indkøbskurven, når et produkt lægges i indkøbskurven.
WooCommerce → Settings → Products.
Hvis du vil lade dette script være aktiveret "Add to Cart Ajax", men ikke for at køre på den første side af butikken, rediger functions.php-filen for det aktuelle tema og tilføj følgende kode:
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'); }
I scenariet hvor udover siderne WooCommerce du har også en blog eller andre personlige sider, hvor der ikke er nogen produkter, en god idé er at deaktivere fragmenterne fra dem.
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');
}
Total deaktivering og fix wc-ajax = get_refreshed_fragments High CPU Usage (Disable AJAX Cart Fragments) det gøres med følgende kode:
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');
}
}
}
Efter at have valgt en af disse metoder (især den sidste), vil du straks bemærke en stigning i onlinebutikkens indlæsningshastighed og et meget lavere forbrug af ressourcer på processoren (CPU).