WooCommerce 10.5: co si ohlídat jako vývojář (import analytiky, daně, CSS scope i výkon)
WooCommerce 10.5 je za rohem a z vývojářského pohledu jde o verzi, která řeší hlavně stabilitu a výkon na reálně vytížených shopech. Největší změna se týká toho, jak se data objednávek promítají do analytických tabulek, ale dojde i na daně, Checkout blok, izolaci Select2 stylů, několik důležitých advisory změn a nové experimenty kolem cache.
Plán vydání (release schedule) a testování
- Feature Freeze: 12. ledna 2026
- WooCommerce 10.5 Beta 1: vydáno 19. ledna 2026
- WooCommerce 10.5 Beta 2: vydáno 26. ledna 2026
- Finální vydání WooCommerce 10.5: plánováno na 4. února 2026
Na testování betaverzí je doporučený plugin WooCommerce Beta Tester, přes který si umíš nasadit beta buildy na staging.
Co konkrétně přichází ve WooCommerce 10.5
1) Zásadní změna importu objednávek do Analytics tabulek
Největší zásah v 10.5 je přepracování toho, jak WooCommerce importuje data o objednávkách do tabulek pro Analytics. Doteď to fungovalo tak, že při každé události související s objednávkou WooCommerce naplánovalo import job přes ActionScheduler. I když byl běh asynchronní, na rušných webech to generovalo obří fronty (běžně i 10 000+ naplánovaných akcí), což vedlo k degradaci výkonu, kontenci v databázi a zpomalování webu.
V 10.5 se jako výchozí zapíná režim Scheduled Imports. Ten místo „jobu na každou událost“ přepíná na dávkové zpracování: analytická data se obnovují každých 12 hodin a běží po dávkách 100 objednávek na batch.
Důležité je, že oba parametry jsou nastavitelné přes nové filtry:
woocommerce_analytics_import_interval– interval spouštění importu (výchozí 12 hodin)woocommerce_analytics_regenerate_batch_size– velikost dávky (výchozí 100 objednávek)
Vedle snížení počtu scheduled akcí a zátěže databáze to má i praktický dopad pro administrátory: import má jasnější viditelnost stavu a import jde kdykoliv ručně spustit. Implementace je v PR #61603.
2) Checkout block: lepší UI dopravy pro více balíků (zejména subscription) + oprava synchronizace
Checkout blok dostává úpravu UI pro výběr dopravy v situaci, kdy je objednávka rozdělená do více balíků (typicky u subscription produktů). Nově se u shipping options zobrazují náhledy produktů (thumbnails) a vizuální ohraničené kontejnery, když je balíků víc.
Součástí je i fix bugu, kdy se shipping metody nesynchronizovaly správně při přepínání mezi doručením Ship a vyzvednutím Pickup. Viz PR #61625.
3) Odolnější zobrazení objednávek s legacy/poškozenými daňovými daty
Pokud jsi někdy řešil staré objednávky, migrované instalace nebo rozšíření, která do objednávky uložila daně v nečekaném formátu, tohle je přesně pro tebe. WooCommerce 10.5 zlepšuje spolehlivost při prohlížení objednávek, kde jsou tax hodnoty uložené jako floaty/stringy místo očekávaných arrays.
Oprava je zpětně kompatibilní a pokrývá všechny typy order items (produkty, dopravu i poplatky/fees). Zároveň se snaží „chytrým“ způsobem odvodit tax rate ID z kontextu objednávky. Pro vlastní logiku konverze přibyl filtr woocommerce_order_item_legacy_tax_conversion. Viz PR #62271.
4) Select2 styly už nebudou přetékat do rozhraní jiných pluginů
WooCommerce v adminu (a někde i na frontendu) používá Select2. Dosud se občas stávalo, že styly, které WooCommerce načte, ovlivnily UI jiných pluginů. V 10.5 se stylování Select2 ze strany WooCommerce nově scopeuje přes :where(.woocommerce).
Pseudo-třída :where() je důležitá tím, že drží nulovou specificitu, takže existující custom override pravidla by měla dál fungovat, ale zároveň se omezí nežádoucí side effects mimo WooCommerce. Viz PR #61956.
5) Nový filtr woocommerce_shipping_tax_class pro dynamické danění dopravy
Pro složitější daňové scénáře přibývá filtr woocommerce_shipping_tax_class, který umožní dynamicky dopočítat daňovou třídu dopravy na základě obsahu košíku, zákaznických dat a lokality.
Typický příklad, který se v oznámení zmiňuje, je výpočet daně z dopravy podle převládající sazby daně v košíku. To je praktické i pro země s komplikovanější logikou (uvedeno konkrétně Nizozemsko). Implementačně je to popsané v PR odkazu #59512 (odkaz vede na PR #62040).
API změny a důležitá upozornění (Developer advisories)
WooCommerce 10.5 s sebou nese i několik změn, které mohou ovlivnit kompatibilitu pluginů a custom integrací. Tady je přehled bodů, které stojí za rychlý audit v kódu:
- WC REST API začne korektně řešit dekódování speciálních znaků u atributů variací produktů. Detailní kontext: https://developer.woocommerce.com/2026/01/14/wc-rest-api-fixes-for-product-variation-attributes-with-special-characters-in-woocommerce-10-5/
- Bude odstraněn trait AccessiblePrivateMethods. Byl v namespace
Internaljako jasný signál „nepoužívat veřejně“, ale některá rozšíření na něm přesto mohla (chybně) stavět. Detailní info: https://developer.woocommerce.com/2026/01/15/removal-of-the-accessibleprivatemethods-trait-in-woocommerce-10-5/ - Upraví se product permalinks podle kategorií: bude se preferovat nejhlubší kategorie, aby URL byly konzistentnější a SEO-friendly. Změna se týká jen specifických permalink struktur. Detailní info: https://developer.woocommerce.com/2026/01/13/product-permalink-changes-coming-in-woocommerce-10-5/
- Na stránkách variabilních produktů bude tlačítko Add to Cart ve výchozím stavu disabled, dokud se plně nenačte skript pro variace. Dřív na pomalém připojení šlo kliknout dřív, než se inicializovala logika výběru varianty, což vedlo k neúspěšným submitům. Detailní info: https://developer.woocommerce.com/2026/01/16/add-to-cart-button-disabled-by-default-in-variable-products-in-woocommerce-10-5/
Výkon: experimentální cache a další optimalizace
Experimentální REST API cache (nově v 10.5)
V 10.5 přibude nová experimentální REST API cache, kterou půjde aplikovat na libovolný endpoint ve WC REST API. Oznámení zmiňuje, že detailnější informace (včetně toho, jak to otestovat) přijdou ještě před vydáním 10.5.
Vylepšení cache cen variací + utility pro callbacks
V oblasti variací se zlepšuje cacheování cen a přibývá i nová utility class pro práci s callbacks. Rozpad a technické detaily jsou v samostatném článku: https://developer.woocommerce.com/2026/01/08/variation-prices-caching-improvements-in-woocommerce-10-5/.
Experimentální Product Object Caching
Další experiment v 10.5 je Product Object Caching: během jednoho requestu se mají cachovat instance produktových objektů, aby se zabránilo opakovanému načítání stejných produktů z databáze. Implementace: https://github.com/woocommerce/woocommerce/pull/62041. Kontext a popis testování: https://developer.woocommerce.com/2026/01/19/experimental-product-object-caching-in-woocommerce-10-5/.
Oprava problémů s cache daty Product Filters (a související údržba transientů)
WooCommerce 10.5 řeší i výkonový problém kolem Product Filters: cache data se dřív ne vždy správně nastavila a načetla, což mohlo vést k tomu, že databáze byla „zaplavena“ cache položkami filtrů a velké katalogy tím trpěly.
Změna zajistí, že se cache dat filtrů bude nastavovat/načítat korektně a výkon obchodů s velkým katalogem nebude negativně ovlivněn. Současně se aktualizoval i nástroj pro úklid transientů ve WooCommerce tak, aby při běhu mazal i filter data cache.
Pokud zákazník používá Product Filters blok a i po update řeší výkon, může být příčina právě v tomhle starém cache bordelu – doporučené řešení je vyčištění WooCommerce transientů. Fix je v PR #62575.
Changelog
Kompletní seznam změn je v changelogu tady: https://github.com/woocommerce/woocommerce/blob/10.5.0-beta.1/plugins/woocommerce/readme.txt.
Rychlý checklist pro vývojáře před upgradem
- Pokud máš vlastní integrace nad Analytics importem nebo sleduješ ActionScheduler, ověř, jak se 10.5 chová v režimu Scheduled Imports (interval + batch size přes filtry).
- Pokud saháš do Checkout blocku (doprava, pickup), otestuj scénáře s více balíky a subscription produkty.
- Pokud pracuješ s order item taxes programově, ověř kompatibilitu s novým převodem legacy tax dat a případně si hookni
woocommerce_order_item_legacy_tax_conversion. - Pokud sis někde „vypůjčil“ něco z
Internalnamespace, zkontroluj odstranění AccessiblePrivateMethods traitu. - Pokud máš custom CSS nad Select2 nebo konflikty v adminu, zkontroluj nový scope přes
:where(.woocommerce). - Pokud generuješ product URL z kategorií, projdi advisory k permalinkům (nejhlubší kategorie).
- Pokud máš custom JS kolem variabilních produktů, počítej s tím, že Add to Cart je disabled, dokud se nenačte variační skript.
- Sleduj experimentální REST API cache a Product Object Caching, pokud ladíš výkon na high-traffic shopech.
Reference / Zdroje
- 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 Beta Tester
- PR #61603
- PR #61625
- PR #62271
- PR #61956
- PR #62040
- PR #62041
- PR #62575
- Changelog (10.5.0-beta.1 readme.txt)
Jakub Dvořák
Linux administrátor a DevOps inženýr. Shell scripting a automatizace jsou mou vášní. Infrastruktura jako kód je budoucnost.
Všechny příspěvky