{"id":215,"date":"2026-01-20T00:00:00","date_gmt":"2026-01-19T23:00:00","guid":{"rendered":"https:\/\/helloblog.io\/sv\/woocommerce-10-5-for-utvecklare-schemalagd-analytics-import-skattfilter-och-prestandalyft\/"},"modified":"2026-01-20T00:00:00","modified_gmt":"2026-01-19T23:00:00","slug":"woocommerce-10-5-for-utvecklare-schemalagd-analytics-import-skattfilter-och-prestandalyft","status":"publish","type":"post","link":"https:\/\/helloblog.io\/sv\/woocommerce-10-5-for-utvecklare-schemalagd-analytics-import-skattfilter-och-prestandalyft\/","title":{"rendered":"WooCommerce 10.5 f\u00f6r utvecklare: schemalagd Analytics-import, nya filter f\u00f6r skatt och flera prestandalyft"},"content":{"rendered":"\n<p>WooCommerce 10.5 \u00e4r p\u00e5 v\u00e4g och inneh\u00e5ller flera f\u00f6r\u00e4ndringar som m\u00e4rks direkt f\u00f6r oss som bygger och driftar WooCommerce-l\u00f6sningar i produktion. Det stora temat den h\u00e4r g\u00e5ngen \u00e4r robusthet och prestanda \u2013 men det dyker ocks\u00e5 upp ett par nya filter och n\u00e5gra API-relaterade \u00e4ndringar som \u00e4r bra att ha koll p\u00e5 innan du uppdaterar kunders sajter.<\/p>\n\n\n\n<p>I den h\u00e4r genomg\u00e5ngen g\u00e5r jag igenom vad som faktiskt \u00e4ndras i 10.5, varf\u00f6r det spelar roll (framf\u00f6r allt p\u00e5 busy stores), samt vad du b\u00f6r testa i dina egna integrationer och teman.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Releaseplan och testf\u00f6nster<\/h2>\n\n\n\n<p>Enligt releaseinfon inleddes en Feature Freeze m\u00e5ndagen den 12 januari 2026. Beta 1 sl\u00e4pptes 19 januari 2026 och Beta 2 sl\u00e4pptes 26 januari 2026. Planerad final release \u00e4r satt till 4 februari 2026.<\/p>\n\n\n\n<p>F\u00f6r testning rekommenderas WooCommerce Beta Tester-pluginet, som g\u00f6r det enkelt att installera och v\u00e4xla till betaversioner i en staging-milj\u00f6: <a href=\"https:\/\/woocommerce.com\/products\/woocommerce-beta-tester\/\">WooCommerce Beta Tester<\/a>.<\/p>\n\n\n\n<div class=\"wp-block-group callout callout-warning is-style-warning is-layout-flow wp-block-group-is-layout-flow\" style=\"border-width:1px;border-radius:8px;padding-top:1rem;padding-right:1.5rem;padding-bottom:1rem;padding-left:1.5rem\">\n\n<h4 class=\"wp-block-heading callout-title\">Praktiskt tips inf\u00f6r uppgradering<\/h4>\n\n\n<p>Om du har egna integrationer mot Analytics, orderdata, skattelogik eller WC REST API \u00e4r det v\u00e4rt att l\u00e4gga tid p\u00e5 regressionstest redan p\u00e5 Beta 2 \u2013 s\u00e4rskilt i butiker som historiskt haft stora ActionScheduler-k\u00f6er.<\/p>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Det viktigaste i WooCommerce 10.5: ny modell f\u00f6r Analytics-import av orderdata<\/h2>\n\n\n\n<p>Den mest grundl\u00e4ggande f\u00f6r\u00e4ndringen i 10.5 \u00e4r hur WooCommerce importerar orderdata till Analytics-tabellerna. Tidigare triggade WooCommerce ett Analytics-importjobb f\u00f6r varje orderh\u00e4ndelse via ActionScheduler. Det var asynkront, men p\u00e5 sajter med h\u00f6g ordervolym skapade det snabbt enorma backlogs (10 000+ schemalagda actions), vilket i sin tur gav tydlig prestandaf\u00f6rs\u00e4mring, databas-kontention och allm\u00e4nt segare admin och frontend.<\/p>\n\n\n\n<p>I 10.5 blir standarden i st\u00e4llet <strong>Scheduled Imports<\/strong>: en batchad uppdatering som k\u00f6rs <strong>var 12:e timme<\/strong> och hanterar <strong>100 ordrar per batch<\/strong>. Det \u00e4r en stor beteendef\u00f6r\u00e4ndring j\u00e4mf\u00f6rt med \u201den action per event\u201d och b\u00f6r minska b\u00e5de antalet scheduled actions och trycket p\u00e5 databasen betydligt, samtidigt som butik\u00e4gare f\u00e5r tydligare status och kan trigga importer manuellt vid behov.<\/p>\n\n\n\n<p>Tv\u00e5 nya filter g\u00f6r beteendet justerbart:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><code>woocommerce_analytics_import_interval<\/code> \u2013 styr intervallet f\u00f6r schemalagd uppdatering (default var 12:e timme).<\/li>\n\n\n<li><code>woocommerce_analytics_regenerate_batch_size<\/code> \u2013 styr batchstorlek (default 100 ordrar per batch).<\/li>\n\n<\/ul>\n\n\n\n<p>Bakom \u00e4ndringen finns PR: <a href=\"https:\/\/github.com\/woocommerce\/woocommerce\/pull\/61603\">#61603<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Checkout block: f\u00f6rb\u00e4ttrat UI f\u00f6r fraktalternativ (och en viktig buggfix)<\/h2>\n\n\n\n<p>Checkout-blocket f\u00e5r en UI-f\u00f6rb\u00e4ttring f\u00f6r fraktalternativ n\u00e4r flera paket f\u00f6rekommer, med s\u00e4rskilt fokus p\u00e5 scenarier med prenumerationsprodukter. I praktiken handlar det om att fraktalternativen kan visa produktthumbnails och att det anv\u00e4nds inramade (bordered) containers n\u00e4r det finns flera paket.<\/p>\n\n\n\n<p>Samtidigt fixas en bugg d\u00e4r fraktmetoder inte synkade korrekt n\u00e4r anv\u00e4ndaren v\u00e4xlade mellan leveransalternativen Ship och Pickup. PR: <a href=\"https:\/\/github.com\/woocommerce\/woocommerce\/pull\/61625\">#61625<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Mer robust ordervisning n\u00e4r skattedata \u00e4r legacy eller korrupt<\/h2>\n\n\n\n<p>Om du har jobbat med \u00e4ldre WooCommerce-installationer (eller importerade ordrar fr\u00e5n tredjepartssystem) har du s\u00e4kert st\u00f6tt p\u00e5 m\u00e4rkliga skattestrukturer. 10.5 st\u00e4rker tillf\u00f6rlitligheten n\u00e4r man visar ordrar d\u00e4r skattv\u00e4rden historiskt kan ha lagrats som floats\/strings i st\u00e4llet f\u00f6r arrays.<\/p>\n\n\n\n<p>Fixen \u00e4r bak\u00e5tkompatibel och g\u00e4ller f\u00f6r alla order item types (produkter, frakt, avgifter\/fees). WooCommerce f\u00f6rs\u00f6ker dessutom p\u00e5 ett smart s\u00e4tt h\u00e4rleda tax rate IDs fr\u00e5n orderns kontext. F\u00f6r den som beh\u00f6ver egen logik finns ett nytt filter:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><code>woocommerce_order_item_legacy_tax_conversion<\/code> \u2013 hook f\u00f6r att l\u00e4gga in egen konverteringslogik vid legacy tax-konvertering.<\/li>\n\n<\/ul>\n\n\n\n<p>Mer info finns i PR: <a href=\"https:\/\/github.com\/woocommerce\/woocommerce\/pull\/62271\">#62271<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Select2-styling: scope:ad f\u00f6r att inte \u201dl\u00e4cka\u201d in i andra plugins<\/h2>\n\n\n\n<p>WooCommerce laddar Select2 (vanligt UI-bibliotek f\u00f6r select-f\u00e4lt i admin), och i 10.5 scope:as nu WooCommerce-specifika Select2-styles f\u00f6r att undvika att de p\u00e5verkar andra plugins gr\u00e4nssnitt. L\u00f6sningen bygger p\u00e5 <code>:where(.woocommerce)<\/code>.<\/p>\n\n\n\n<p>Det fina h\u00e4r \u00e4r att <code>:where()<\/code> ger noll specificitet, vilket betyder att befintliga overrides som du eller theme\/plugin redan har p\u00e5 plats forts\u00e4tter fungera som tidigare \u2013 men utan att WooCommerce r\u00e5kar styla Select2 utanf\u00f6r sin egen yta. PR: <a href=\"https:\/\/github.com\/woocommerce\/woocommerce\/pull\/61956\">#61956<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Nytt filter: <code>woocommerce_shipping_tax_class<\/code> f\u00f6r dynamisk fraktskatt<\/h2>\n\n\n\n<p>10.5 introducerar ett nytt filter, <code>woocommerce_shipping_tax_class<\/code>, som g\u00f6r det m\u00f6jligt att ber\u00e4kna fraktens skattesats dynamiskt baserat p\u00e5 varukorgens inneh\u00e5ll, kunddata och plats. Det h\u00e4r \u00f6ppnar f\u00f6r mer avancerade uppl\u00e4gg, till exempel att r\u00e4kna fraktskatt enligt den dominerande skattesatsen i varukorgen.<\/p>\n\n\n\n<p>Det lyfts s\u00e4rskilt fram som en flexibel l\u00f6sning f\u00f6r komplexa skatteuppl\u00e4gg, exempelvis de som kan beh\u00f6vas i Nederl\u00e4nderna. PR-l\u00e4nk: <a href=\"https:\/\/github.com\/woocommerce\/woocommerce\/pull\/62040\">#59512<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">API-\u00e4ndringar och advisories du b\u00f6r l\u00e4sa innan du uppdaterar<\/h2>\n\n\n\n<p>Ut\u00f6ver core-f\u00f6r\u00e4ndringarna finns ett antal \u00e4ndringar som redan f\u00e5tt egna utvecklarinl\u00e4gg (developer advisories). H\u00e4r \u00e4r de viktigaste punkterna att f\u00e5nga upp inf\u00f6r kompatibilitetstest:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>WC REST API ska nu hantera <strong>decoding av specialtecken<\/strong> korrekt f\u00f6r produktvariationers attributes. Fullt inl\u00e4gg: https:\/\/developer.woocommerce.com\/2026\/01\/14\/wc-rest-api-fixes-for-product-variation-attributes-with-special-characters-in-woocommerce-10-5\/<\/li>\n\n\n<li>Traiten <strong>AccessiblePrivateMethods<\/strong> tas bort. Den l\u00e5g i <code>Internal<\/code>-namespace som en tydlig signal att den inte \u00e4r t\u00e4nkt att anv\u00e4ndas publikt, men vissa extensioner kan ha r\u00e5kat luta sig p\u00e5 den \u00e4nd\u00e5. Fullt inl\u00e4gg: https:\/\/developer.woocommerce.com\/2026\/01\/15\/removal-of-the-accessibleprivatemethods-trait-in-woocommerce-10-5\/<\/li>\n\n\n<li><strong>Produktpermal\u00e4nkar baserade p\u00e5 kategorier<\/strong> uppdateras och kommer att prioritera den djupaste kategorin f\u00f6r b\u00e4ttre SEO och mer konsekventa URL:er. Detta p\u00e5verkar endast specifika permalink-strukturer. Fullt inl\u00e4gg: https:\/\/developer.woocommerce.com\/2026\/01\/13\/product-permalink-changes-coming-in-woocommerce-10-5\/<\/li>\n\n\n<li>P\u00e5 <strong>variable product<\/strong>-sidor ser WooCommerce nu till att <strong>Add to Cart<\/strong>-knappen \u00e4r <strong>inaktiverad tills variation-scriptet har laddat klart<\/strong>. Tidigare kunde anv\u00e4ndare p\u00e5 l\u00e5ngsamma uppkopplingar klicka innan variation-logiken var initierad och d\u00e5 misslyckades submit. Fullt inl\u00e4gg: https:\/\/developer.woocommerce.com\/2026\/01\/16\/add-to-cart-button-disabled-by-default-in-variable-products-in-woocommerce-10-5\/<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Prestanda i 10.5: experimentell REST API-cache och flera konkreta f\u00f6rb\u00e4ttringar<\/h2>\n\n\n\n<p>P\u00e5 prestandasidan introducerar WooCommerce 10.5 en <strong>ny experimentell REST API cache<\/strong> som kan appliceras p\u00e5 valfri endpoint i WC REST API. Enligt releasetexten kommer mer information om hur man testar den h\u00e4r funktionen n\u00e4rmare 10.5-sl\u00e4ppet.<\/p>\n\n\n\n<p>Ut\u00f6ver det n\u00e4mns flera andra f\u00f6rb\u00e4ttringar som \u00e4r bra att k\u00e4nna till:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>F\u00f6rb\u00e4ttringar i <strong>cached variation prices<\/strong>, plus en ny utility class f\u00f6r att jobba med callbacks. F\u00f6rdjupning: https:\/\/developer.woocommerce.com\/2026\/01\/08\/variation-prices-caching-improvements-in-woocommerce-10-5\/<\/li>\n\n\n<li>En ny <strong>experimentell Product Object Caching<\/strong>-funktion som cache:ar produktinstanser under en enskild request, vilket hindrar on\u00f6diga duplicerade produktladdningar fr\u00e5n databasen. PR: https:\/\/github.com\/woocommerce\/woocommerce\/pull\/62041 och f\u00f6rdjupning: https:\/\/developer.woocommerce.com\/2026\/01\/19\/experimental-product-object-caching-in-woocommerce-10-5\/<\/li>\n\n\n<li>Prestandaproblem i <strong>Product Filters<\/strong> kopplat till cache-data som inte sattes\/laddades korrekt fixas. M\u00e5let \u00e4r att databasen inte ska fyllas med filter-cache och att stora kataloger inte ska drabbas. Transients cleanup-verktyget i WooCommerce uppdateras ocks\u00e5 s\u00e5 att det rensar filterdatacachen n\u00e4r det k\u00f6rs. Om en butik anv\u00e4nder Product Filters-blocket och fortfarande upplever prestandaproblem kan orsaken vara just detta \u2013 och \u00e5tg\u00e4rden som pekas ut \u00e4r att rensa WooCommerce transients. PR: <a href=\"https:\/\/github.com\/woocommerce\/woocommerce\/pull\/62575\">#62575<\/a><\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Changelog<\/h2>\n\n\n\n<p>Full changelog f\u00f6r betan finns i WooCommerce-repot h\u00e4r: https:\/\/github.com\/woocommerce\/woocommerce\/blob\/10.5.0-beta.1\/plugins\/woocommerce\/readme.txt<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sammanfattning: vad du b\u00f6r verifiera i dina projekt<\/h2>\n\n\n\n<p>WooCommerce 10.5 kan bli en tydlig vinst f\u00f6r butiker som tidigare lidit av ActionScheduler-k\u00f6er relaterade till Analytics \u2013 men det \u00e4r ocks\u00e5 en release d\u00e4r flera beteenden runt API, permal\u00e4nkar och frontendinteraktioner kan p\u00e5verka edge cases.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Testa Analytics\/rapporter och eventuella egna fl\u00f6den som f\u00f6rlitar sig p\u00e5 \u201dsnabb\u201d import efter orderh\u00e4ndelser \u2013 scheduled batchar \u00e4r nu standard.<\/li>\n\n\n<li>Verifiera checkout-fl\u00f6den med Ship\/Pickup och scenarier med flera paket (s\u00e4rskilt subscription-uppl\u00e4gg).<\/li>\n\n\n<li>S\u00e4kerst\u00e4ll att ordervisning inte faller p\u00e5 specialfall med legacy tax-data om du importerar ordrar eller har \u00e4ldre data.<\/li>\n\n\n<li>Kolla admin-UI i kombination med andra plugins som anv\u00e4nder Select2 \u2013 styling ska nu vara b\u00e4ttre isolerad.<\/li>\n\n\n<li>Om du har komplex skatt p\u00e5 frakt: utv\u00e4rdera <code>woocommerce_shipping_tax_class<\/code> f\u00f6r att f\u00e5 en mer korrekt och dynamisk ber\u00e4kning.<\/li>\n\n\n<li>Om du anv\u00e4nder WC REST API f\u00f6r variationer med specialtecken: regressiontest decoding.<\/li>\n\n\n<li>S\u00f6k igenom kodbasen efter <code>AccessiblePrivateMethods<\/code> om du har interna beroenden du inte borde ha haft.<\/li>\n\n\n<li>Om du k\u00f6r category-baserade produktpermal\u00e4nkar: testa URL-generering och SEO-fl\u00f6den d\u00e4r \u201ddjupaste kategori\u201d kan \u00e4ndra canonical\/URL-struktur.<\/li>\n\n\n<li>Testa variable products p\u00e5 l\u00e5ngsamma n\u00e4t: Add to Cart ska vara disabled tills variationsscriptet laddat.<\/li>\n\n<\/ul>\n\n\n<div class=\"references-section\">\n                <h2>Referenser \/ K\u00e4llor<\/h2>\n                <ul class=\"references-list\"><li><a href=\"https:\/\/developer.woocommerce.com\/2026\/01\/20\/woocommerce-10-5-whats-coming-for-developers\/\" target=\"_blank\" rel=\"noopener noreferrer\">WooCommerce 10.5: What&#039;s coming for developers Release Posts<\/a><\/li><li><a href=\"https:\/\/developer.woocommerce.com\/2026\/01\/14\/wc-rest-api-fixes-for-product-variation-attributes-with-special-characters-in-woocommerce-10-5\/\" target=\"_blank\" rel=\"noopener noreferrer\">WC REST API fixes for product variation attributes with special characters in WooCommerce 10.5<\/a><\/li><li><a href=\"https:\/\/developer.woocommerce.com\/2026\/01\/15\/removal-of-the-accessibleprivatemethods-trait-in-woocommerce-10-5\/\" target=\"_blank\" rel=\"noopener noreferrer\">Removal of the AccessiblePrivateMethods trait in WooCommerce 10.5<\/a><\/li><li><a href=\"https:\/\/developer.woocommerce.com\/2026\/01\/13\/product-permalink-changes-coming-in-woocommerce-10-5\/\" target=\"_blank\" rel=\"noopener noreferrer\">Product permalink changes coming in WooCommerce 10.5<\/a><\/li><li><a href=\"https:\/\/developer.woocommerce.com\/2026\/01\/16\/add-to-cart-button-disabled-by-default-in-variable-products-in-woocommerce-10-5\/\" target=\"_blank\" rel=\"noopener noreferrer\">Add to cart button disabled by default in variable products in WooCommerce 10.5<\/a><\/li><li><a href=\"https:\/\/developer.woocommerce.com\/2026\/01\/08\/variation-prices-caching-improvements-in-woocommerce-10-5\/\" target=\"_blank\" rel=\"noopener noreferrer\">Variation prices caching improvements in WooCommerce 10.5<\/a><\/li><li><a href=\"https:\/\/developer.woocommerce.com\/2026\/01\/19\/experimental-product-object-caching-in-woocommerce-10-5\/\" target=\"_blank\" rel=\"noopener noreferrer\">Experimental product object caching in WooCommerce 10.5<\/a><\/li><li><a href=\"https:\/\/github.com\/woocommerce\/woocommerce\/pull\/61603\" target=\"_blank\" rel=\"noopener noreferrer\">woocommerce\/woocommerce pull request #61603<\/a><\/li><li><a href=\"https:\/\/github.com\/woocommerce\/woocommerce\/pull\/61625\" target=\"_blank\" rel=\"noopener noreferrer\">woocommerce\/woocommerce pull request #61625<\/a><\/li><li><a href=\"https:\/\/github.com\/woocommerce\/woocommerce\/pull\/62271\" target=\"_blank\" rel=\"noopener noreferrer\">woocommerce\/woocommerce pull request #62271<\/a><\/li><li><a href=\"https:\/\/github.com\/woocommerce\/woocommerce\/pull\/61956\" target=\"_blank\" rel=\"noopener noreferrer\">woocommerce\/woocommerce pull request #61956<\/a><\/li><li><a href=\"https:\/\/github.com\/woocommerce\/woocommerce\/pull\/62040\" target=\"_blank\" rel=\"noopener noreferrer\">woocommerce\/woocommerce pull request #62040<\/a><\/li><li><a href=\"https:\/\/github.com\/woocommerce\/woocommerce\/pull\/62575\" target=\"_blank\" rel=\"noopener noreferrer\">woocommerce\/woocommerce pull request #62575<\/a><\/li><li><a href=\"https:\/\/github.com\/woocommerce\/woocommerce\/blob\/10.5.0-beta.1\/plugins\/woocommerce\/readme.txt\" target=\"_blank\" rel=\"noopener noreferrer\">woocommerce\/woocommerce readme.txt (10.5.0-beta.1 changelog)<\/a><\/li><\/ul>\n            <\/div>","protected":false},"excerpt":{"rendered":"<p>WooCommerce 10.5 flyttar Analytics-importen fr\u00e5n \u201den action per orderh\u00e4ndelse\u201d till schemalagda batchar \u2013 en \u00e4ndring som kan kapa ActionScheduler-k\u00f6er och databastryck rej\u00e4lt p\u00e5 stora butiker.<\/p>\n","protected":false},"author":60,"featured_media":214,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38],"tags":[114,101,115,113,40],"class_list":["post-215","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-woocommerce","tag-actionscheduler","tag-prestanda","tag-skatt","tag-wc-rest-api","tag-woocommerce"],"_links":{"self":[{"href":"https:\/\/helloblog.io\/sv\/wp-json\/wp\/v2\/posts\/215","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helloblog.io\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/helloblog.io\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/helloblog.io\/sv\/wp-json\/wp\/v2\/users\/60"}],"replies":[{"embeddable":true,"href":"https:\/\/helloblog.io\/sv\/wp-json\/wp\/v2\/comments?post=215"}],"version-history":[{"count":0,"href":"https:\/\/helloblog.io\/sv\/wp-json\/wp\/v2\/posts\/215\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/helloblog.io\/sv\/wp-json\/wp\/v2\/media\/214"}],"wp:attachment":[{"href":"https:\/\/helloblog.io\/sv\/wp-json\/wp\/v2\/media?parent=215"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/helloblog.io\/sv\/wp-json\/wp\/v2\/categories?post=215"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/helloblog.io\/sv\/wp-json\/wp\/v2\/tags?post=215"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}