
Kort svar: Afgør først, om det er selve kurven, Checkout-blokken eller kun mini-kurven i headeren, der er forkert. Se derefter den anmodning, som udløses, når antal ændres: Cart Block bruger Store API, mens klassiske skabeloner og mini-kurven kan bruge andre AJAX- og fragmentflows. Hvis serverens svar har korrekt antal og total, ligger fejlen i JavaScript eller temaet. Er svaret forkert, undersøges session, cache og plugins.
Fagligt gennemgået: 28. august 2026
Kontrolgrundlag: WordPress 7.1, WooCommerce 11.0.1 og Chrome 151 på isoleret staging samt aktuel produktdokumentation. Kontrollér altid, om butikken bruger Cart-blokken eller den klassiske kurv, før du ændrer scripts.
En kurv kan godt være korrekt i databasen og samtidig vise et gammelt tal i headeren. Omvendt kan mini-kurven opdatere, mens totalen i den egentlige kurv ikke genberegnes. Derfor skal du navngive det element, som fejler, før du ændrer cache eller cart fragments.
På denne side
Notér resultatet i alle fire efter én ændring. Det afslører, om fejlen ligger i data, synkronisering eller kun en enkelt visning.

cart, wc-ajax, admin-ajax og /wc/store/.| Symptom | Sandsynlig årsag | Kontrol | Næste skridt |
|---|---|---|---|
| Mini-kurven er gammel, kurvsiden er korrekt | Fragment/event eller headerintegration | Netværk og frontend-events | Ret mini-kurven; lad sessionen være |
| Antal skifter tilbage efter opdatering | Request afvises eller session overskrives | Request/response og cookies | Ret statusfejl eller cache/session |
| Total ændres ikke | JavaScript eller beregningsplugin | Konsol og response-total | Isolér konflikt på staging |
| Opdateringsknappen er permanent deaktiveret | Tema-/scriptfejl eller ingen registreret ændring | DOM, konsol og standardtema | Ret override eller script |
| Store API returnerer 401/403 | Nonce/session/WAF | Responseheaders | Ret den dokumenterede blokering |
| Forskellige kunder ser samme kurv | Fuld sidecache af dynamisk indhold | To isolerede browsere og cacheheader | Stop cache af kurv/session straks |
Rediger kurvsiden på staging eller inspicer dens markup. Cart Block kommunikerer gennem Store API. Klassisk kurv poster formularen og kan afhænge af klassiske WooCommerce-scripts. Mini-kurven kan være en block, en widget eller en temakomponent. Brug det korrekte request som bevis; ellers risikerer du at fejlsøge cart fragments på en kurv, der slet ikke bruger dem.
Foretag én ændring fra antal 1 til 2. Gem request-URL, metode, statuskode og response uden kunde-/sessiondata. Hvis responsen viser 2 og korrekt total, men siden viser 1, er det en frontend-renderingfejl. Hvis responsen allerede viser 1 eller en fejl, ligger årsagen før renderingen.
Ved 4xx læses fejlbeskeden og eventuelle sikkerhedslogs. Ved 5xx sammenholdes UTC-tidspunkt med WooCommerce- og PHP-log. Et 200-svar med HTML i stedet for forventet JSON peger på fejloutput eller cacheforurening.
Kurv og checkout må ikke serveres som samme fulde HTML til alle. Kontroller cacheheader og WooCommerce-sessioncookies. Hvis antallet opdateres efter en cache-purge, men senere bliver gammelt igen, er purge et symptomskjul; bypassreglen eller cache-key'en skal rettes.
Hvis hele kurven forsvinder frem for blot at vise forkert antal, brug guiden om tom kurv.
En rød konsolfejl før WooCommerce-scriptet kan stoppe senere events. Find filens ejer via URL-stien. På staging slås den konkrete optimering eller udvidelse fra, og testen gentages. Skift derefter til et standardtema for at afsløre forældede template overrides eller en specialbygget mini-kurv, som ikke lytter til de aktuelle events.
Cart fragments holder klassiske mini-kurve opdateret uden fuld sidegenindlæsning. Det er ikke en universel kurvreparation. Hvis mini-kurven er den eneste fejl, kontroller om widgetten/temaet faktisk forventer fragment-scriptet. Hvis shoppen ikke bruger en klassisk mini-kurv, skal scriptet ikke aktiveres globalt bare for en test.
Hostious har en separat guide til WooCommerce Cart Fragments. Brug den som performance-/implementeringsreference, ikke som standardløsning på en ukendt kurvfejl.
Hvis en pris-, rabat-, lager- eller valutaudvidelse ændrer serverens beregning, reproducer med WooCommerce alene og aktiver udvidelserne enkeltvis. Gem både response-total og versionsnummer. Undlad at redigere sessions- eller kurvdata direkte i databasen.
En opdatering kan se korrekt ud, mens subtotal, rabat, moms eller fragt stadig er gammel. Brug en testkurv, hvor hver beregning er let at genkende, og skriv forventet resultat ned før testen. Brug ikke rigtige kunders kuponer eller adresser.
Test derefter disse overgange separat: antal ændres, vare slettes, kupon tilføjes/fjernes, leveringsland ændres og lagergrænse rammes. Hvis kun én overgang fejler, er den tilknyttede udvidelse eller eventsti en stærkere kandidat end WooCommerce-sessionen generelt.
Ved parallelle faner skal du beslutte den forventede adfærd. WooCommerce kan opdatere en fane efter refresh/fragment-event; en helt åben fane i mange timer er ikke et sikkert sandhedsvidne uden genindlæsning.
En testvare ændres fra antal 1 til 2 på kurvsiden. Store API-responsen indeholder antal 2 og den forventede total, og checkout viser også 2 efter navigation. Headerens mini-kurv bliver derimod stående på 1. Det afgrænser fejlen til mini-kurvens rendering eller eventbinding; session, lager og serverberegning har allerede leveret det rigtige resultat.
I den situation skal du finde, hvilken komponent der ejer headeren. Er det WooCommerce Mini-Cart-blokken, en klassisk widget eller et temaelement? Se om komponenten opdateres efter den relevante cart-event, og om et tidligere konsolproblem stopper JavaScriptkæden. At rydde sessionsdata eller regenerere produkttabeller vil ikke rette den gamle tæller.
Hvis responsen i stedet returnerer antal 1 sammen med en lagerbesked, er frontend sandsynligvis korrekt. Kontrollér maxantal, lagerbeholdning, “solgt enkeltvis” og udvidelser, der validerer mængder. Den synlige tilbageskiftning er da en konsekvens af serverens beslutning, ikke et script der overskriver et korrekt resultat.
Kurven genberegnes også, når adresse, fragtmetode, valuta eller kupon ændres. Notér hvilken handling der udløser den første forkerte total. Hvis antal virker, men total bryder efter valg af leveringsland, skal du undersøge fragt-, moms- eller valuta-hooket frem for den generelle opdateringsknap.
Brug ét ændringspunkt pr. test. Kombinationen “antal 2, ny kupon og andet land” kan aktivere tre integrationer på én gang og gøre en klar fejl uigennemskuelig. En lille testmatrix med handling, forventet request og observeret total giver en langt kortere vej til ejeren.
Vær også opmærksom på varelinjer, der ser ens ud, men har forskellig variation eller tilvalgsmetadata. WooCommerce kan holde dem som separate linjer. Hvis kunden ændrer antal på den ene, må testen ikke blot summere begge og konkludere, at opdateringen fejlede. Notér cart item key eller variation-ID i det anonymiserede respons, og sammenlign den præcise linje.
Ved mængderabatter skal forventningen skrives på forhånd. En ændring fra 1 til 2 kan lovligt udløse en ny stykpris, momsafrunding eller fri fragt. Sammenlign derfor reglernes beregnede facit med serverresponsen – ikke kun “gammel pris gange to”.
Gendan den tidligere temaoverride, scriptundtagelse, cachebypass eller kurvtype. Purge det berørte cachelag, og gentag antaltesten. Hvis du skiftede mellem Cart Block og klassisk kurv som diagnose, gendan den oprindelige side, medmindre kompatibilitetsbeslutningen er fagligt godkendt.
Tema-/pluginudvikleren skal have response-data, konsolfejl og en stagingreproduktion. Hosting skal have statuskode, cacheheader og logtidspunkt ved server-/cachefejl. Se WooCommerce hosting hos Hostious ved behov for driftsdiagnose.
Fordi det bagvedliggende kald fejler – Cart Block bruger Store API, klassiske skabeloner AJAX. Åbn Netværk-fanen, ændr antal, og se om kaldet får fejlstatus, HTML i stedet for JSON eller intet svar.
Ja, ofte. Delay og defer af scripts kan bryde kurvens opdatering, især på mobil. Undtag WooCommerce-scripts fra optimeringen, purge cachen og test igen i privat vindue.
Den henter sit indhold via fragments, som kan være cachet forkert. Sørg for at cart fragments ikke caches, eller opdatér temaets mini-kurv til Store API, hvis muligt.
Gem mini-kurven og kurvsiden før og efter en antalændring, den tilhørende Store API- eller AJAX-anmodning, konsollens første relevante fejl og sidens cacheheader. Et billede af et forkert totalbeløb kan ikke alene vise, om fejlen ligger i serverberegningen eller i den viste frontendtilstand.
Notér derfor serverens returnerede antal, subtotal, rabat, fragt, moms og total og sammenlign dem med det synlige resultat. Gentag testen i to isolerede browsere og med den faktiske kurvtype. Hvis kun mini-kurven er forældet, mens serverrespons og checkout er korrekte, skal dokumentationen sige netop det.