Spring til indhold
WooCommerce 10.5: det vigtigste for udviklere (performance, API-ændringer og nye filtre)
Mads Jensen
Mads Jensen 20. January 2026 · 8 min læsetid

WooCommerce 10.5: det vigtigste for udviklere (performance, API-ændringer og nye filtre)

WooCommerce 10.5 er på vej, og selv om der som altid er mange småfix, er det især en håndfuld ændringer, der kan mærkes i extensions, temaer og store shops: en ny måde at importere ordredata til Analytics-tabellerne på, flere forbedringer i Checkout-blokken, mere robust håndtering af legacy momsdata, strammere CSS-scope for Select2 – samt nye filtre og et par vigtige API-/adfærdsændringer.

Nedenfor får du et udviklerfokuseret overblik over, hvad der kommer i 10.5, hvad du bør teste, og hvilke advisories der er værd at læse i fuld længde.

Releaseplan (10.5) – det vi ved lige nu

  • Feature Freeze startede: 12. januar 2026
  • WooCommerce 10.5 Beta 1: released 19. januar 2026
  • WooCommerce 10.5 Beta 2: released 26. januar 2026
  • Final release: planlagt til 4. februar 2026

Hvis du vil teste betaer, er den officielle vej at bruge WooCommerce Beta Tester plugin, som gør det nemt at skifte til betaversioner på et testmiljø.

Hvad er nyt i WooCommerce 10.5 (funktionelt)?

1) Analytics-import af ordredata: fra “én action per event” til batch-baserede Scheduled Imports

Den største fundamentale ændring i 10.5 handler om, hvordan WooCommerce får ordredata ind i Analytics-tabellerne. Tidligere blev der sat et analytics import-job i gang for hver ordre-hændelse via ActionScheduler. Det var asynkront, ja – men på travle shops gav det ofte enorme køer (10.000+ actions), hård database contention og mærkbare slowdowns.

I 10.5 skifter WooCommerce nu default til Scheduled Imports. I praksis betyder det:

  • Analytics-data opdateres i batches hver 12. time
  • Der behandles 100 ordrer per batch som standard
  • Begge dele kan tilpasses via nye filtre: woocommerce_analytics_import_interval og woocommerce_analytics_regenerate_batch_size
  • Der bliver markant færre scheduled actions og mindre DB-load
  • Store owners får tydeligere status over importen og kan stadig trigge imports manuelt når som helst

Hvis du har bygget tooling, support-automation eller overvågning rundt om ActionScheduler-køer eller analytics import jobs, er det her en ændring, du bør validere på staging. PR-reference: #61603.

2) Checkout block: bedre shipping-UI ved flere pakker (især abonnementer) + sync-fix Ship/Pickup

Checkout-blokkens shipping options UI bliver forbedret, når ordren består af flere pakker – et scenarie man typisk ser med subscription-produkter. I 10.5 vises der nu produkt-thumbnails, og UI’et får indrammede (bordered) containere, så det er tydeligere for kunden, hvad der hører til hvilken pakke.

Samtidig er der rettet en fejl, hvor shipping methods ikke altid sync’ede korrekt, når brugeren skiftede mellem Ship og Pickup delivery options. PR-reference: #61625.

3) Mere robust visning af ordrer med legacy/korrupt momsdata (tax-data som float/string)

Hvis du nogensinde har haft en butik med ældre data, migrationer eller “interessante” plugins, har du sikkert set ordrer, hvor tax values ikke ligger i det format, WooCommerce forventer (fx gemt som float eller string i stedet for arrays). 10.5 forbedrer pålideligheden, når man åbner og viser ordrer med den slags legacy eller korrupt tax-data.

Løsningen i 10.5 er bagudkompatibel og gælder på tværs af order item types:

  • Products
  • Shipping
  • Fees

Derudover forsøger WooCommerce at inferere tax rate IDs ud fra ordre-konteksten, og du får et nyt filter, hvis du har brug for at styre konverteringslogikken selv: woocommerce_order_item_legacy_tax_conversion. PR-reference: #62271.

4) Select2 CSS scopes bedre: undgår “style leakage” til andre plugins

WooCommerce loader Select2 (JS/CSS) mange steder i admin og nogle flows, og historisk har Select2-styles kunnet “lække” ud og påvirke andre plugins’ interfaces. I 10.5 scopes WooCommerce Select2-styles nu via :where(.woocommerce).

Det vigtige her er, at :where() pseudo-klassen har nul specificitet. Det betyder, at eksisterende custom overrides typisk fortsat virker, samtidig med at WooCommerce-styles ikke utilsigtet rammer UI uden for WooCommerce-konteksten. PR-reference: #61956.

5) Nyt filter til shipping-moms: woocommerce_shipping_tax_class

10.5 introducerer et nyt filter: woocommerce_shipping_tax_class. Målet er at gøre det muligt at beregne shipping tax rates mere dynamisk baseret på fx:

  • Cart contents
  • Customer data
  • Location

Det åbner for custom logik som at beregne shipping tax ud fra den dominerende (predominant) momssats i kurven – noget der kan være nødvendigt i mere komplekse momsscenarier (kildeteksten nævner fx Holland som typisk eksempel). PR-reference: #59512.

API-ændringer og advisories, der kan ramme extensions

Ud over de konkrete features ovenfor kommer 10.5 også med flere ændringer, som WooCommerce-teamet har skrevet separat om på developer-bloggen. Her er den korte opsummering – men i praksis bør du læse de fulde advisories, hvis du rammer de relevante områder.

WC REST API: korrekt decoding af special characters i variation attributes

WC REST API kommer til at håndtere decoding af specialtegn korrekt for product variation attributes. Det er især relevant, hvis du synkroniserer produkter/variationer via integrationer, eller hvis du har attributter med tegn, der typisk kræver encoding/decoding i API-transporten.

Detaljer: WC REST API fixes for product variation attributes with special characters in WooCommerce 10.5.

Fjernelse: AccessiblePrivateMethods trait i Internal namespace

Trait’en AccessiblePrivateMethods bliver fjernet. Den lå i Internal namespace netop for at signalere, at den ikke er public API. Hvis en extension alligevel har taget afhængighed på den, kan 10.5 give fatals eller uventet adfærd.

Detaljer: Removal of the AccessiblePrivateMethods trait in WooCommerce 10.5.

Produkt-permalinks baseret på kategorier: “deepest category” prioriteres

Hvis du bruger permalink-strukturer, hvor produkt-URL’en afhænger af kategorier, bliver logikken opdateret i 10.5. Nu prioriteres den dybeste kategori (deepest category) for bedre SEO og mere konsistens i URLs. Ændringen påvirker kun specifikke permalink-strukturer.

Detaljer: Product permalink changes coming in WooCommerce 10.5.

Variable products: Add to Cart deaktiveres indtil variation-scriptet er loaded

På variable product pages sikrer WooCommerce nu, at Add to Cart-knappen er disabled, indtil variations-scriptet er fuldt indlæst. Tidligere kunne brugere på langsomme forbindelser nå at klikke, før variation selection-logikken var initialiseret – og så fejlede submit.

Detaljer: Add to cart button disabled by default in variable products in WooCommerce 10.5.

Performance i 10.5: nye caches og oprydning i kendte hotspots

Eksperimentel REST API cache (endpoint-agnostisk)

10.5 introducerer en ny eksperimentel REST API cache, som kan anvendes på alle endpoints i WC REST API. WooCommerce lover mere information om, hvordan den testes, inden 10.5 udkommer – så her er pointen mest: vær opmærksom på, at caching nu bliver et tema direkte i core, og at det kan påvirke forventninger til responstider og load, hvis du har tunge integrationer.

Forbedringer i cached variation prices + ny utility class til callbacks

Caching af variation prices får også forbedringer i 10.5, og der kommer en ny utility class til at arbejde med callbacks. Hvis du har custom pricing, dynamiske prisfiltre eller hooks omkring variation pricing, er det oplagt at regression-teste prisberegning og cache invalidation.

Detaljer: Variation prices caching improvements in WooCommerce 10.5.

Eksperimentel Product Object Caching (per request)

Der introduceres også en eksperimentel Product Object Caching-feature, som cacher product instances under en request, så man undgår dublerede loads fra databasen. Det kan især hjælpe i flows, hvor den samme produktinstans ellers hentes flere gange via forskellige kald.

PR: #62041. Flere detaljer: Experimental product object caching in WooCommerce 10.5.

Product Filters: cache-data sættes/indlæses korrekt + transients cleanup rydder filter cache

WooCommerce adresserer performance-issues, hvor Product Filters’ cache data ikke blev sat og loaded korrekt. Resultatet har i nogle setups været en database, der bliver oversvømmet af filter data cache – og at stores med store kataloger tager et performance-hit.

I 10.5 bliver både set/load af cache data forbedret, og WooCommerce transients cleanup tool bliver opdateret til også at rydde filter data cache, når oprydningen kører.

En vigtig drift-note: Hvis en shop bruger Product Filters-blokken og stadig ser performanceproblemer, kan dette være årsagen, og løsningen vil typisk være at rydde WooCommerce transients. PR-reference: #62575.

Changelog (beta)

Den fulde changelog for betaen ligger her: readme.txt (10.5.0-beta.1).

Praktisk test-checkliste til udviklere

  • Test en travl shop (eller en anonymiseret kopi) med fokus på Analytics: kig efter færre ActionScheduler actions, lavere DB-load og korrekt opdateringsfrekvens (12 timer) – og prøv manuelt trig af imports.
  • Hvis du har admin-UI der bruger Select2, tjek at styling ikke ændrer sig utilsigtet, og at WooCommerce-styles ikke længere påvirker andre plugin-skærmbilleder.
  • Har du custom momslogik: test ordrer med gamle data og alle item-typer (products, shipping, fees), og overvej om du skal hooke ind i woocommerce_order_item_legacy_tax_conversion.
  • Hvis du har kompleks shipping-moms (B2B/B2C, blandede satser, lande-specifik logik): evaluér om woocommerce_shipping_tax_class skal bruges til at matche lokale krav.
  • Kører du REST API-integrationer: test variation attributes med specialtegn og verificér at encoding/decoding stadig matcher dit system.
  • Hvis du (fejlagtigt) bruger interne WooCommerce helpers: scan efter brug af AccessiblePrivateMethods og fjern afhængigheden inden opgradering.
  • Hvis du bruger kategori-baserede produkt-permalinks: test URL-output og evt. redirects, når “deepest category” prioriteres.
  • Test variable produkter på langsomme netværk (throttle i DevTools): verificér at Add to Cart først bliver aktiv, når variation script er klar.
  • Hvis du bruger Product Filters-blokken på store kataloger: mål query/load og test at oprydning af transients forbedrer performance.

Bliv en del af HelloWP-communityet!

Chat med os om WordPress og webudvikling, og del erfaringer med andre udviklere.

- medlemmer
- online
Deltag

Vi bruger cookies til at forbedre din oplevelse. Ved at fortsætte accepterer du vores Cookiepolitik.