Sari la conținut

Mini-coșul WooCommerce nu se actualizează

  • De WooCentury
  • Actualizat
  • 2 min de citit

Când mini-coșul WooCommerce nu se actualizează, cauza este aproape întotdeauna cache-ul: un plugin de cache sau de optimizare salvează versiunea veche a fragmentului de coș. Soluția e să excluzi de la cache cererile de coș (wc-ajax=get_refreshed_fragments) și scriptul wc-cart-fragments. Mai jos ai checklist-ul complet.

Cum arată problema

La un client, în timp ce optimizam viteza magazinului cu WP Rocket, butonul de coș din header afișa în continuare „No products in the cart” în engleză. Traducerea în română („Niciun produs în coș”) fusese făcută corect cu Loco Translate, dar nu apărea. În alte cazuri, mini-coșul arată produse vechi sau un număr greșit de produse.

Checklist rapid înainte de orice

Fă un backup complet. Apoi dezactivează temporar pluginul de cache și golește cache-ul browserului după fiecare pas.

  • Ai instalat, actualizat sau șters recent un plugin, mai ales unul de cache sau de performanță? Dacă da, încearcă să revii la starea anterioară.
  • Ai modificat recent setări în WooCommerce?

Soluții din setările WooCommerce

  1. WooCommerce → Stare → Stare sistem: rezolvă orice e marcat cu roșu.
  2. WooCommerce → Stare → Unelte: rulează „Șterge datele temporare”, „Șterge datele temporare expirate” și „Golește toate sesiunile clienților”.
  3. WooCommerce → Setări → Avansat: endpoint-urile trebuie să fie fără spații (de exemplu order-pay, nu „order pay”).
  4. Verifică dacă paginile Coș și Finalizare comandă sunt setate corect în WooCommerce → Setări → Avansat → Setări pagini.
  5. În Setări → Legături permanente, apasă „Salvează” fără să schimbi nimic, ca să regenerezi regulile de rescriere.
  6. În Setări → General, adresa WordPress și adresa site-ului trebuie să fie identice, cu sau fără www, dar la fel la ambele.

Soluția pentru WP Rocket

Problema e cunoscută: WP Rocket poate pune în cache răspunsul cererii get_refreshed_fragments, cea prin care WooCommerce actualizează coșul.

  1. Actualizează WP Rocket la ultima versiune: versiunile noi exclud automat fragmentele de coș.
  2. Golește cache-ul WP Rocket.
  3. Dacă problema persistă, folosește pluginul de compatibilitate oficial WP Rocket | Deactivate WooCommerce Refresh Cart Fragments Cache.
  4. Cu pluginul Transients Manager, șterge datele temporare de tip rocket_get_refreshed_fragments_cache.

Soluția pentru Perfmatters

  • în Setări → Perfmatters → Opțiuni → General, la secțiunea WooCommerce, verifică dacă nu ai dezactivat fragmentele de coș pe paginile unde ai mini-coș;
  • în Script Manager, scriptul wc-cart-fragments trebuie să rămână activ pe paginile cu butonul de coș.

Soluția pentru LiteSpeed Cache

LiteSpeed Cache are integrare nativă cu WooCommerce: activează în LiteSpeed Cache → Cache → ESI opțiunea ESI pentru coș. Mini-coșul se încarcă astfel separat, chiar dacă restul paginii e servit din cache. Vezi și ghidul nostru LiteSpeed Cache pentru WordPress.

Dacă nimic nu funcționează

  1. Dezactivează toate pluginurile în afară de WooCommerce și trece temporar pe o temă standard (Storefront). Dacă problema dispare, reactivează pe rând ca să găsești vinovatul.
  2. Dacă problema a apărut după un update, revino la versiunea anterioară cu WP Rollback.

Probleme înrudite: „Coșul tău este gol” după adăugarea produselor și schimbarea textului butonului „Add to Cart”.