Kort svar: WooCommerce Cart Fragments er et script, der via forespørgslen
?wc-ajax=get_refreshed_fragmentsholder mini-kurven opdateret uden genindlæsning. Siden WooCommerce 7.8 indlæses det ikke længere på alle sider, kun når kurv-widgetten, temaet eller et plugin kræver det. Ser du stadig forespørgslen på sider uden kurv, kan du deaktivere scriptet med få linjer kode i dit børnetema – men kun hvis du ikke bruger en mini-kurv, der afhænger af det.
Fagligt gennemgået: 2. oktober 2026
Er din WooCommerce-butik langsom, og ser du forespørgslen /?wc-ajax=get_refreshed_fragments i dine målinger? Så kan Cart Fragments være en del af forklaringen. Den forespørgsel kan ikke caches, fordi den skal returnere den enkelte kundes kurv, og den rammer derfor PHP og databasen ved hver sidevisning.
Denne guide viser, hvordan du finder ud af, om scriptet overhovedet er et problem på din shop, og hvordan du deaktiverer det uden plugins på de sider, hvor det ikke gør gavn.
Hvad er WooCommerce Cart Fragments?
AJAX (Asynchronous JavaScript and XML) betyder, at en side kan hente nye data fra serveren uden at genindlæse hele siden. Når en kunde lægger en vare i kurven, opdateres antallet i headeren med det samme – det er AJAX.
Cart Fragments er WooCommerce’s mekanisme til netop det. Scriptet wc-cart-fragments sender forespørgslen ?wc-ajax=get_refreshed_fragments til serveren og får de opdaterede HTML-stykker (fragmenter) til mini-kurven tilbage. Det sker ved tilføjelse til kurv, men også når siden indlæses, hvis browseren ikke allerede har en gyldig kopi af kurven.
Funktionen løser en reel opgave, men den koster en ekstra, ucachet serverforespørgsel. På en travl shop eller en svag server kan det mærkes på både svartider og serverbelastning.
Hvad ændrede sig i WooCommerce 7.8?
Ældre guides – også tidligere udgaver af denne – går ud fra, at scriptet indlæses på alle sider. Det var tilfældet indtil WooCommerce 7.8 (juni 2023). Siden da indlæses wc-cart-fragments kun, når:
- den klassiske kurv-widget vises på siden
- et tema eller plugin har registreret scriptet som afhængighed
- det er tilføjet eksplicit i egen kode
Nogle klassiske temaer har kurv-widgetten hårdkodet i headeren, og så indlæses scriptet stadig overalt. Bruger du et bloktema med Mini-Cart-blokken, bruges fragments-API’et slet ikke – blokken henter kurven via WooCommerce Store API.
Derfor er første skridt ikke at indsætte kode, men at tjekke, om scriptet faktisk indlæses hos dig.
1. Tjek, om Cart Fragments faktisk indlæses
Åbn en side uden produkter, fx “Om os”, i et privat browservindue:
- Åbn udviklerværktøjerne (F12), og vælg fanen Netværk.
- Genindlæs siden, og skriv
get_refreshed_fragmentsi filterfeltet. - Ser du en forespørgsel, indlæses scriptet. Notér svartiden, og se under Initiator, hvilket script der startede den.
- Søg også efter
cart-fragmentsi fanen Kilder eller i sidens kildekode for at se, om filencart-fragments.min.jsindlæses.
Er der ingen forespørgsel, har du ikke et fragments-problem, og du kan springe resten af guiden over. Se i stedet efter andre årsager i Langsom WooCommerce med mange produkter eller Høj TTFB i WordPress.
2. Hvornår giver det mening at deaktivere Cart Fragments?
Deaktivering er relevant, hvis scriptet indlæses på sider, hvor det ikke gør gavn, og især hvis:
- dit tema ikke har en mini-kurv eller kurv-dropdown i headeren, der skal opdateres live
- du har sat WooCommerce til at sende kunden til kurvsiden efter tilføjelse, så en live-opdatering af mini-kurven er overflødig
- forespørgslen er tydeligt langsom i dine egne målinger, eller serveren er presset under trafikspidser
Har du derimod en mini-kurv, som kunderne bruger, skal du ikke bare fjerne scriptet. Så vil kurven i headeren vise forkert antal eller tom kurv, indtil siden genindlæses. Overvej i stedet at skifte til Mini-Cart-blokken, der ikke bruger fragments.
3. Justér WooCommerce-indstillingerne (valgfrit)
Hvis du fjerner live-opdateringen af mini-kurven, er det en god idé at sende kunden direkte til kurven efter tilføjelse, så de altid ser det opdaterede indhold:
- Gå til WooCommerce → Indstillinger → Produkter.
- Sæt flueben ved Omdiriger til kurvsiden efter vellykket tilføjelse.
- Fjern eventuelt fluebenet ved Aktivér AJAX-tilføj til kurv-knapper på arkiver, så knapperne på kategorisider også fører videre til kurven.

Indstillingerne ændrer ikke i sig selv, om scriptet indlæses. De sikrer bare, at kunden får en sammenhængende oplevelse, når mini-kurven ikke længere opdateres live. Mål gerne effekten på konverteringen – nogle butikker sælger bedre, når kunden bliver på produktsiden.
4. Tilføj koden i dit børnetema
Koden skal placeres et sted, hvor den ikke overskrives ved opdateringer. Det er formålet med et børnetema (child theme): ændringer direkte i hovedtemaets filer forsvinder, når temaet opdateres, mens børnetemaets functions.php bevares.
Før du ændrer noget: Tag en backup, og redigér helst filen via SFTP i stedet for temaeditoren i wp-admin. En stavefejl i
functions.phpkan give en kritisk fejl, og så er det rart at kunne rette filen direkte. Mange sites har desuden slået temaeditoren fra af sikkerhedshensyn.
Temaeditoren findes under Udseende → Temafil-editor, hvor du vælger børnetemaets functions.php:

Indsæt denne kode nederst i filen. Den fjerner scriptet på alle sider undtagen butik, produkter, kurv og checkout, hvor kunden reelt arbejder med kurven:
/** Deaktiver WooCommerce Cart Fragments uden for butikssiderne */
add_action( 'wp_enqueue_scripts', function () {
if ( function_exists( 'is_woocommerce' ) && ( is_woocommerce() || is_cart() || is_checkout() ) ) {
return;
}
wp_dequeue_script( 'wc-cart-fragments' );
}, PHP_INT_MAX );
Vil du fjerne scriptet overalt – fordi du ikke har nogen mini-kurv, eller fordi du sender kunden til kurven efter hver tilføjelse – kan du droppe betingelsen:
/** Deaktiver WooCommerce Cart Fragments på hele sitet */
add_action( 'wp_enqueue_scripts', function () {
wp_dequeue_script( 'wc-cart-fragments' );
}, PHP_INT_MAX );
Prioriteten PHP_INT_MAX sørger for, at koden kører efter tema og plugins har tilføjet deres scripts. Bruger du ikke et børnetema, kan koden også lægges i en lille fil i wp-content/mu-plugins/, som WordPress indlæser automatisk.
5. Test efter ændringen
Ryd page cache og eventuel CDN-cache, og gentag tjekket fra trin 1. Forespørgslen get_refreshed_fragments skal være væk på de sider, du har udelukket. Test derefter hele købsflowet:
- Læg en vare i kurven fra en produktside og fra en kategoriside.
- Kontroller, at kurvsiden viser det rigtige indhold og antal.
- Gennemfør et testkøb til og med kvitteringen.
- Log ind som kunde, og tjek, at kurven følger med mellem sider.
Opfører kurven sig forkert, så se WooCommerce-kurven opdaterer ikke antal eller total og WooCommerce-kurven bliver tom mellem sider.
Fordele og ulemper ved at deaktivere Cart Fragments
Beslutningen er et kompromis mellem hastighed og funktion. Gevinsten er færre ucachede forespørgsler og mindre arbejde for serveren, især under trafikspidser. Ulempen er, at en mini-kurv, der afhænger af scriptet, ikke længere opdateres live.
Hvor meget du vinder, afhænger af din server og din shop. Forespørgslen kører efter, at siden er vist, så den påvirker sjældent den første visning direkte. Til gengæld giver den ekstra JavaScript-arbejde og en serverforespørgsel pr. sidevisning, som kan trække på målinger som Total Blocking Time og INP og på serverens kapacitet. På en hurtig server med effektiv PHP og object cache er forespørgslen typisk hurtig. På en presset server eller med en stor, uoptimeret database kan den tage betydeligt længere tid.
Mål derfor før og efter i stedet for at stole på generelle tal. Se Dårlig INP i WordPress for, hvordan du finder lange JavaScript-opgaver.
Sammenhængen med page cache
Cart Fragments og page cache hænger tæt sammen. Når siderne leveres fra cache, er fragments-forespørgslen ofte den eneste del, der stadig rammer PHP. Det er netop derfor, den bliver synlig i målingerne.
Bruger du LiteSpeed Cache, kan du med ESI eller privat cache levere kurvens indhold separat uden at deaktivere den. Læs mere i LiteSpeed Cache til WooCommerce. Uanset cacheløsning gælder det, at kurv, checkout og Min konto aldrig må caches offentligt.
Gode rutiner for butikker med meget trafik
For WooCommerce-shops med høj trafik og kampagnespidser er en almindelig tilgang at:
- Erstatte den klassiske kurv-widget med Mini-Cart-blokken eller fjerne mini-kurven helt.
- Deaktivere Cart Fragments på sider, hvor kunden ikke handler.
- Sende kunden til kurvsiden efter tilføjelse, hvis der ikke er en live mini-kurv.
- Teste kurv og checkout efter hver opdatering af tema, WooCommerce og cacheplugin.
Gør det rigtige valg for din butik
Om du skal deaktivere Cart Fragments, afhænger af dit tema, din mini-kurv og hvor meget forespørgslen faktisk koster på din server. Tjek først, om scriptet indlæses, mål det, og vælg derefter den løsning, der balancerer hastighed og funktion.
Hostingen spiller også ind. Hos Hostious kører WooCommerce hosting på LiteSpeed og NVMe på servere i Europa, og fra Woo StartUp kan du teste ændringer som denne på staging, før de går live. Redis object cache understøttes også og kan aktiveres pr. shop, hvilket aflaster databasen ved dynamiske forespørgsler som denne.
Læs også
- Hub: WooCommerce fejl og fejlfinding – alle guides om emnet samlet ét sted
- Sådan gør du din WooCommerce-webshop hurtigere
- LiteSpeed Cache til WooCommerce: privat cache, ESI og undtagelser
- Cloudflare Cache Rules til WooCommerce uden cached kurv og checkout
- WooCommerce hosting hos Hostious – LiteSpeed, NVMe og staging fra Woo StartUp
Ofte stillede spørgsmål om WooCommerce Cart Fragments
Hvad er WooCommerce Cart Fragments?
Cart Fragments er en WooCommerce-funktion, der opdaterer mini-kurven dynamisk uden at genindlæse siden. Scriptet wc-cart-fragments henter de opdaterede kurvdata via forespørgslen ?wc-ajax=get_refreshed_fragments.
Hvorfor kan det være en fordel at deaktivere Cart Fragments?
Forespørgslen kan ikke caches og rammer serveren ved hver sidevisning, hvor scriptet indlæses. Deaktiverer du det på sider uden kurv, aflaster du serveren og fjerner ekstra JavaScript-arbejde – især mærkbart på travle shops eller svage servere.
Hvad er risikoen ved at deaktivere Cart Fragments?
Den største risiko er, at en mini-kurv eller kurv-dropdown i headeren ikke længere opdateres live og viser forkert antal. Test derfor hele købsflowet efter ændringen, og send eventuelt kunden direkte til kurvsiden efter tilføjelse.
Bruger Mini-Cart-blokken også Cart Fragments?
Nej. Mini-Cart-blokken henter kurven via WooCommerce Store API og bruger ikke fragments-API’et. Skifter du fra den klassiske kurv-widget til blokken, får du en live mini-kurv uden get_refreshed_fragments-forespørgslen.
Kan jeg slå Cart Fragments til igen bagefter?
Ja. Fjern blot koden fra functions.php igen, ryd cachen, og nulstil eventuelt indstillingen om omdirigering til kurvsiden. Tag gerne en backup, før du ændrer noget, så du nemt kan rulle tilbage.
Udgivet 13. december 2023Opdateret 3. oktober 2026Fagligt gennemgået 2. oktober 2026
