WooCommerce 10.5 för utvecklare: schemalagd Analytics-import, nya filter för skatt och flera prestandalyft
WooCommerce 10.5 är på väg och innehåller flera förändringar som märks direkt för oss som bygger och driftar WooCommerce-lösningar i produktion. Det stora temat den här gången är robusthet och prestanda – men det dyker också upp ett par nya filter och några API-relaterade ändringar som är bra att ha koll på innan du uppdaterar kunders sajter.
I den här genomgången går jag igenom vad som faktiskt ändras i 10.5, varför det spelar roll (framför allt på busy stores), samt vad du bör testa i dina egna integrationer och teman.
Releaseplan och testfönster
Enligt releaseinfon inleddes en Feature Freeze måndagen den 12 januari 2026. Beta 1 släpptes 19 januari 2026 och Beta 2 släpptes 26 januari 2026. Planerad final release är satt till 4 februari 2026.
För testning rekommenderas WooCommerce Beta Tester-pluginet, som gör det enkelt att installera och växla till betaversioner i en staging-miljö: WooCommerce Beta Tester.
Praktiskt tips inför uppgradering
Om du har egna integrationer mot Analytics, orderdata, skattelogik eller WC REST API är det värt att lägga tid på regressionstest redan på Beta 2 – särskilt i butiker som historiskt haft stora ActionScheduler-köer.
Det viktigaste i WooCommerce 10.5: ny modell för Analytics-import av orderdata
Den mest grundläggande förändringen i 10.5 är hur WooCommerce importerar orderdata till Analytics-tabellerna. Tidigare triggade WooCommerce ett Analytics-importjobb för varje orderhändelse via ActionScheduler. Det var asynkront, men på sajter med hög ordervolym skapade det snabbt enorma backlogs (10 000+ schemalagda actions), vilket i sin tur gav tydlig prestandaförsämring, databas-kontention och allmänt segare admin och frontend.
I 10.5 blir standarden i stället Scheduled Imports: en batchad uppdatering som körs var 12:e timme och hanterar 100 ordrar per batch. Det är en stor beteendeförändring jämfört med ”en action per event” och bör minska både antalet scheduled actions och trycket på databasen betydligt, samtidigt som butikägare får tydligare status och kan trigga importer manuellt vid behov.
Två nya filter gör beteendet justerbart:
woocommerce_analytics_import_interval– styr intervallet för schemalagd uppdatering (default var 12:e timme).woocommerce_analytics_regenerate_batch_size– styr batchstorlek (default 100 ordrar per batch).
Bakom ändringen finns PR: #61603.
Checkout block: förbättrat UI för fraktalternativ (och en viktig buggfix)
Checkout-blocket får en UI-förbättring för fraktalternativ när flera paket förekommer, med särskilt fokus på scenarier med prenumerationsprodukter. I praktiken handlar det om att fraktalternativen kan visa produktthumbnails och att det används inramade (bordered) containers när det finns flera paket.
Samtidigt fixas en bugg där fraktmetoder inte synkade korrekt när användaren växlade mellan leveransalternativen Ship och Pickup. PR: #61625.
Mer robust ordervisning när skattedata är legacy eller korrupt
Om du har jobbat med äldre WooCommerce-installationer (eller importerade ordrar från tredjepartssystem) har du säkert stött på märkliga skattestrukturer. 10.5 stärker tillförlitligheten när man visar ordrar där skattvärden historiskt kan ha lagrats som floats/strings i stället för arrays.
Fixen är bakåtkompatibel och gäller för alla order item types (produkter, frakt, avgifter/fees). WooCommerce försöker dessutom på ett smart sätt härleda tax rate IDs från orderns kontext. För den som behöver egen logik finns ett nytt filter:
woocommerce_order_item_legacy_tax_conversion– hook för att lägga in egen konverteringslogik vid legacy tax-konvertering.
Mer info finns i PR: #62271.
Select2-styling: scope:ad för att inte ”läcka” in i andra plugins
WooCommerce laddar Select2 (vanligt UI-bibliotek för select-fält i admin), och i 10.5 scope:as nu WooCommerce-specifika Select2-styles för att undvika att de påverkar andra plugins gränssnitt. Lösningen bygger på :where(.woocommerce).
Det fina här är att :where() ger noll specificitet, vilket betyder att befintliga overrides som du eller theme/plugin redan har på plats fortsätter fungera som tidigare – men utan att WooCommerce råkar styla Select2 utanför sin egen yta. PR: #61956.
Nytt filter: woocommerce_shipping_tax_class för dynamisk fraktskatt
10.5 introducerar ett nytt filter, woocommerce_shipping_tax_class, som gör det möjligt att beräkna fraktens skattesats dynamiskt baserat på varukorgens innehåll, kunddata och plats. Det här öppnar för mer avancerade upplägg, till exempel att räkna fraktskatt enligt den dominerande skattesatsen i varukorgen.
Det lyfts särskilt fram som en flexibel lösning för komplexa skatteupplägg, exempelvis de som kan behövas i Nederländerna. PR-länk: #59512.
API-ändringar och advisories du bör läsa innan du uppdaterar
Utöver core-förändringarna finns ett antal ändringar som redan fått egna utvecklarinlägg (developer advisories). Här är de viktigaste punkterna att fånga upp inför kompatibilitetstest:
- WC REST API ska nu hantera decoding av specialtecken korrekt för produktvariationers attributes. Fullt inlägg: https://developer.woocommerce.com/2026/01/14/wc-rest-api-fixes-for-product-variation-attributes-with-special-characters-in-woocommerce-10-5/
- Traiten AccessiblePrivateMethods tas bort. Den låg i
Internal-namespace som en tydlig signal att den inte är tänkt att användas publikt, men vissa extensioner kan ha råkat luta sig på den ändå. Fullt inlägg: https://developer.woocommerce.com/2026/01/15/removal-of-the-accessibleprivatemethods-trait-in-woocommerce-10-5/ - Produktpermalänkar baserade på kategorier uppdateras och kommer att prioritera den djupaste kategorin för bättre SEO och mer konsekventa URL:er. Detta påverkar endast specifika permalink-strukturer. Fullt inlägg: https://developer.woocommerce.com/2026/01/13/product-permalink-changes-coming-in-woocommerce-10-5/
- På variable product-sidor ser WooCommerce nu till att Add to Cart-knappen är inaktiverad tills variation-scriptet har laddat klart. Tidigare kunde användare på långsamma uppkopplingar klicka innan variation-logiken var initierad och då misslyckades submit. Fullt inlägg: https://developer.woocommerce.com/2026/01/16/add-to-cart-button-disabled-by-default-in-variable-products-in-woocommerce-10-5/
Prestanda i 10.5: experimentell REST API-cache och flera konkreta förbättringar
På prestandasidan introducerar WooCommerce 10.5 en ny experimentell REST API cache som kan appliceras på valfri endpoint i WC REST API. Enligt releasetexten kommer mer information om hur man testar den här funktionen närmare 10.5-släppet.
Utöver det nämns flera andra förbättringar som är bra att känna till:
- Förbättringar i cached variation prices, plus en ny utility class för att jobba med callbacks. Fördjupning: https://developer.woocommerce.com/2026/01/08/variation-prices-caching-improvements-in-woocommerce-10-5/
- En ny experimentell Product Object Caching-funktion som cache:ar produktinstanser under en enskild request, vilket hindrar onödiga duplicerade produktladdningar från databasen. PR: https://github.com/woocommerce/woocommerce/pull/62041 och fördjupning: https://developer.woocommerce.com/2026/01/19/experimental-product-object-caching-in-woocommerce-10-5/
- Prestandaproblem i Product Filters kopplat till cache-data som inte sattes/laddades korrekt fixas. Målet är att databasen inte ska fyllas med filter-cache och att stora kataloger inte ska drabbas. Transients cleanup-verktyget i WooCommerce uppdateras också så att det rensar filterdatacachen när det körs. Om en butik använder Product Filters-blocket och fortfarande upplever prestandaproblem kan orsaken vara just detta – och åtgärden som pekas ut är att rensa WooCommerce transients. PR: #62575
Changelog
Full changelog för betan finns i WooCommerce-repot här: https://github.com/woocommerce/woocommerce/blob/10.5.0-beta.1/plugins/woocommerce/readme.txt
Sammanfattning: vad du bör verifiera i dina projekt
WooCommerce 10.5 kan bli en tydlig vinst för butiker som tidigare lidit av ActionScheduler-köer relaterade till Analytics – men det är också en release där flera beteenden runt API, permalänkar och frontendinteraktioner kan påverka edge cases.
- Testa Analytics/rapporter och eventuella egna flöden som förlitar sig på ”snabb” import efter orderhändelser – scheduled batchar är nu standard.
- Verifiera checkout-flöden med Ship/Pickup och scenarier med flera paket (särskilt subscription-upplägg).
- Säkerställ att ordervisning inte faller på specialfall med legacy tax-data om du importerar ordrar eller har äldre data.
- Kolla admin-UI i kombination med andra plugins som använder Select2 – styling ska nu vara bättre isolerad.
- Om du har komplex skatt på frakt: utvärdera
woocommerce_shipping_tax_classför att få en mer korrekt och dynamisk beräkning. - Om du använder WC REST API för variationer med specialtecken: regressiontest decoding.
- Sök igenom kodbasen efter
AccessiblePrivateMethodsom du har interna beroenden du inte borde ha haft. - Om du kör category-baserade produktpermalänkar: testa URL-generering och SEO-flöden där ”djupaste kategori” kan ändra canonical/URL-struktur.
- Testa variable products på långsamma nät: Add to Cart ska vara disabled tills variationsscriptet laddat.
Referenser / Källor
- WooCommerce 10.5: What's coming for developers Release Posts
- WC REST API fixes for product variation attributes with special characters in WooCommerce 10.5
- Removal of the AccessiblePrivateMethods trait in WooCommerce 10.5
- Product permalink changes coming in WooCommerce 10.5
- Add to cart button disabled by default in variable products in WooCommerce 10.5
- Variation prices caching improvements in WooCommerce 10.5
- Experimental product object caching in WooCommerce 10.5
- woocommerce/woocommerce pull request #61603
- woocommerce/woocommerce pull request #61625
- woocommerce/woocommerce pull request #62271
- woocommerce/woocommerce pull request #61956
- woocommerce/woocommerce pull request #62040
- woocommerce/woocommerce pull request #62575
- woocommerce/woocommerce readme.txt (10.5.0-beta.1 changelog)
Elin Andersson
Chefredaktör för det svenska teamet, evangelist för hållbar utveckling och grön IT. Miljömedvetna tekniska lösningar är mitt mål.
Alla inlägg