Sari la conținut
WEBLURE

WooCommerce · Arhitectură WooCommerce

WooCommerce: reducerea solicitărilor cart fragments

Fiecare pagină face un apel AJAX pentru mini-coș, chiar dacă nu-l afișezi. Pe pagini fără mini-coș îl poți scoate, cu atenție.

  • wc-cart-fragments
  • get_refreshed_fragments
  • Mini-coș
  • Dezactivare condiționată
  • Măsurare înainte/după

Răspuns în aceeași zi lucrătoare Ofertă fixă Fără parole

Vrei să ți-o facem noi?

Doar două câmpuri. Răspundem în aceeași zi lucrătoare, cu ofertă fixă.

+ Telefon și detalii (opțional)

Răspuns rapid

În codul WooCommerce, scriptul wc-cart-fragments (assets/js/frontend/cart-fragments.js) actualizează conținutul mini-coșului prin acțiunea AJAX get_refreshed_fragments, iar fragmentele se pot extinde cu filtrul woocommerce_add_to_cart_fragments. Dacă tema nu afișează un mini-coș sau numărul de produse din antet, scriptul poate fi deînregistrat pe acele pagini cu wp_dequeue_script('wc-cart-fragments'). Dacă îl scoți din greșeală, contorul coșului nu se mai actualizează și apar comportamente ciudate la adăugare. Măsoară înainte și după.

Ce ai nevoie

  • Locurile unde apare mini-coșul
  • Instrument de măsurare (Network)
  • Acces la tema copil
  • Un mediu de test

Pașii, pe rând

  1. 1Verifică dacă folosești mini-coșAntet cu număr de produse, coș lateral sau pop-up. Dacă da, scriptul este necesar pe acele pagini.
  2. 2Măsoară apelurileÎn Network, caută cererile către get_refreshed_fragments. Notează câte sunt și cât durează.
  3. 3Dezactivează condiționatwp_dequeue_script('wc-cart-fragments') doar pe paginile fără mini-coș (de exemplu articole de blog); fragmentul de mai jos arată principiul.
  4. 4Păstrează funcționalitatea pe magazinPe paginile de produs, categorie, coș și checkout, lasă scriptul activ dacă mini-coșul apare.
  5. 5Verifică adăugarea în coșAdaugă produse și vezi dacă contorul se actualizează; testează logat și anonim.
  6. 6Ia în calcul cache-ulDacă folosești cache de pagină, fragmentele sunt cele care aduc datele coșului pe pagini cache-uite; un mecanism alternativ trebuie să îl înlocuiască.
  7. 7Măsoară efectulCompară timpul de încărcare și numărul de cereri înainte și după.

Scoate wc-cart-fragments de pe paginile fără magazin (schelet)

php
add_action('wp_enqueue_scripts', function () {
    if (!function_exists('is_woocommerce')) return;
    if (!is_woocommerce() && !is_cart() && !is_checkout() && !is_account_page()) {
        wp_dequeue_script('wc-cart-fragments');
    }
}, 100);

Fragmentele de cod sunt scheleturi: le adaptezi la magazinul tău și le testezi întâi pe un mediu de test (staging). Dacă mini-coșul apare și pe pagini care nu sunt WooCommerce (blog, pagini simple), contorul din antet nu se va actualiza acolo. Testează tema ta.

Nu am găsit o pagină de documentație oficială despre dezactivarea acestui script; informațiile despre script și acțiunea AJAX provin din codul sursă. Efectul depinde de tema ta.

Nu vrei să te complici sau ai rămas blocat? Scrie-ne și o facem noi.

Scrie-ne pe WhatsAppCere ofertă

Mai multe detalii

Cauze frecvente și greșeli de evitatDacă pașii de mai sus nu au rezolvat problema
1

Contorul coșului nu se actualizează

De ce: Scriptul a fost dezactivat pe o pagină cu mini-coș.

Ce faci: Reactivează scriptul pe acele pagini.

2

Cereri lente pe paginile cache-uite

De ce: Fragmentele ocolesc cache-ul.

Ce faci: Optimizează hostingul sau folosește un mecanism de mini-coș cache-friendly.

3

Scriptul revine

De ce: Alt plugin îl înregistrează.

Ce faci: Setează prioritatea corect.

Întrebări frecvente4 răspunsuri
Ce face wc-cart-fragments?

Actualizează mini-coșul prin cerere AJAX (get_refreshed_fragments).

Îl pot dezactiva global?

Doar dacă nu ai mini-coș nicăieri; altfel contorul nu se actualizează.

Cum măsor efectul?

Cu panoul Network al browserului înainte și după.

Mă ajutați cu optimizarea?

Da. Cere ofertă fixă.