WooCommerce 10.5: anteprima per sviluppatori (Analytics import, Checkout block, API e performance)
WooCommerce 10.5 è ormai in dirittura d’arrivo e, per chi sviluppa temi o estensioni, questa release ha diversi punti che vale la pena conoscere in anticipo: cambia in modo sostanziale la strategia di import dei dati ordini verso le tabelle di Analytics, arrivano fix e miglioramenti su Checkout block, gestione tasse legacy, CSS di Select2, più una manciata di avvisi API e ottimizzazioni prestazionali (incluse feature sperimentali di caching).
Timeline di rilascio (feature freeze, beta e release)
- Feature Freeze avviato: 12 gennaio 2026
- WooCommerce 10.5 Beta 1 rilasciata: 19 gennaio 2026
- WooCommerce 10.5 Beta 2 rilasciata: 26 gennaio 2026
- Release finale di WooCommerce 10.5 pianificata: 4 febbraio 2026
Per provare le beta, il canale consigliato è il plugin ufficiale WooCommerce Beta Tester, che permette di installare e aggiornare facilmente le versioni di test.
Cosa arriva in WooCommerce 10.5 (cambiamenti principali)
Import Analytics ordini: da job per evento a import pianificati a batch
Il cambiamento più impattante di 10.5 riguarda il modo in cui WooCommerce importa i dati ordini nelle tabelle di Analytics. Finora, per ogni evento legato a un ordine, WooCommerce avviava un job di import tramite ActionScheduler. Anche se asincrono, su store con traffico elevato questa strategia poteva creare backlog enormi (anche oltre 10.000 azioni), con degrado prestazionale marcato: rallentamenti del sito, contesa sul database e carico inutile dovuto all’enorme quantità di azioni pianificate.
Con WooCommerce 10.5 il comportamento di default passa a Scheduled Imports: invece di far partire un job per ogni evento, l’import viene aggiornato con elaborazione a batch ogni 12 ore, processando 100 ordini per batch. Entrambi i parametri sono personalizzabili tramite due nuovi filter hook:
woocommerce_analytics_import_interval(per modificare l’intervallo)woocommerce_analytics_regenerate_batch_size(per modificare la dimensione del batch)
Il risultato atteso è una riduzione drastica del numero di azioni programmate e del carico sul database, con un beneficio diretto sulle performance degli store più attivi. In più, viene migliorata la visibilità sullo stato dell’import e rimane la possibilità di forzare l’import manualmente quando serve. Riferimento: #61603.
Checkout block: UI opzioni di spedizione più chiara (thumb e contenitori) + fix sync metodi
Nel Checkout block (il checkout basato su blocchi), le opzioni di spedizione vengono migliorate dal punto di vista UI: quando sono presenti più pacchi (scenario frequente con prodotti in abbonamento), l’interfaccia mostra le miniature dei prodotti e utilizza contenitori con bordo per rendere più leggibile la scelta.
Oltre al miglioramento visuale, viene corretto un bug per cui i metodi di spedizione non si sincronizzavano correttamente quando l’utente alternava tra le opzioni di consegna Ship e Pickup. Riferimento: #61625.
Ordini con dati tasse legacy o corrotti: handling retrocompatibile + filter per conversione
WooCommerce 10.5 aumenta l’affidabilità nella visualizzazione degli ordini che contengono dati tasse legacy o corrotti, in particolare quando i valori delle tasse sono stati salvati come float/stringhe invece che come array.
Il fix introduce una gestione retrocompatibile su tutti i tipi di order item (prodotti, spedizione, fee), prova a inferire in modo “intelligente” gli ID delle aliquote (tax rate IDs) dal contesto dell’ordine e mette a disposizione un filter hook per chi deve applicare una logica di conversione personalizzata:
woocommerce_order_item_legacy_tax_conversion
Riferimento: #62271.
Select2: CSS di WooCommerce ora “scopato” per non contaminare altri plugin
Un problema pratico che molti di noi hanno visto almeno una volta: WooCommerce carica stili per Select2 che possono “colare” anche in altre interfacce (ad esempio schermate admin di altri plugin), alterandone l’aspetto.
In 10.5 gli stili Select2 caricati da WooCommerce vengono ora limitati tramite :where(.woocommerce). La pseudo-class :where() ha specificità pari a zero, quindi l’intento è duplice: evitare che gli stili di WooCommerce influenzino UI esterne e, allo stesso tempo, non rompere gli override custom esistenti che si basavano sulla specificità. Riferimento: #61956.
Nuovo filter woocommerce_shipping_tax_class: calcolo dinamico delle tasse sulla spedizione
Arriva un nuovo filter hook, woocommerce_shipping_tax_class, pensato per abilitare un calcolo più dinamico della tassazione della spedizione in base a contenuto del carrello, dati cliente e localizzazione.
Questo punto è particolarmente utile quando servono regole fiscali complesse. Un esempio citato è la possibilità di calcolare l’imposta della spedizione usando l’aliquota predominante nel carrello, un’esigenza tipica di scenari come quelli dei Paesi Bassi. Riferimento: #59512.
Cambiamenti API e avvisi per sviluppatori (developer advisories)
Oltre alle modifiche “core”, WooCommerce 10.5 include diversi interventi già descritti in dettaglio nei post di advisory per sviluppatori. Qui sotto trovi il riassunto dei punti principali con i link ai dettagli.
WC REST API: decoding corretto dei caratteri speciali negli attributi delle variazioni
La WC REST API (l’API HTTP di WooCommerce) gestirà correttamente la decodifica dei caratteri speciali negli attributi delle variazioni prodotto. Dettagli: https://developer.woocommerce.com/2026/01/14/wc-rest-api-fixes-for-product-variation-attributes-with-special-characters-in-woocommerce-10-5/
Rimozione del trait AccessiblePrivateMethods
Il trait AccessiblePrivateMethods verrà rimosso. Era nel namespace Internal, proprio come segnale che non dovesse essere consumato pubblicamente. La rimozione può impattare estensioni che lo stavano usando in modo improprio. Dettagli: https://developer.woocommerce.com/2026/01/15/removal-of-the-accessibleprivatemethods-trait-in-woocommerce-10-5/
Permalink prodotto basati su categorie: cambia la priorità (categoria più “profonda”)
I permalink dei prodotti basati su categorie verranno aggiornati dando priorità alla categoria più “profonda” (deepest category), con l’obiettivo di migliorare SEO e consistenza degli URL. L’impatto riguarda solo specifiche strutture di permalink. Dettagli: https://developer.woocommerce.com/2026/01/13/product-permalink-changes-coming-in-woocommerce-10-5/
Prodotti variabili: pulsante Add to Cart disabilitato finché lo script variazioni non è caricato
Sulle pagine di prodotto variabile, WooCommerce farà in modo che il pulsante Add to Cart resti disabilitato fino a quando lo script delle variazioni non è completamente caricato. In precedenza, su connessioni lente, un utente poteva cliccare “Add to Cart” prima che la logica di selezione variazioni fosse inizializzata, causando invii falliti. Dettagli: https://developer.woocommerce.com/2026/01/16/add-to-cart-button-disabled-by-default-in-variable-products-in-woocommerce-10-5/
Performance: caching REST sperimentale e ottimizzazioni su prezzi variazioni, oggetti prodotto e filtri
Nuova cache sperimentale per WC REST API (applicabile a qualsiasi endpoint)
WooCommerce 10.5 introdurrà una nuova cache REST API sperimentale, applicabile a qualunque endpoint della WC REST API. Al momento dell’annuncio non sono stati condivisi tutti i dettagli operativi: sono attese ulteriori indicazioni su come testarla in prossimità della release 10.5.
Cached variation prices: miglioramenti + utility class per gestire callback
Il caching dei prezzi delle variazioni riceve ulteriori miglioramenti e arriva anche una nuova utility class pensata per lavorare meglio con le callback. Approfondimento: https://developer.woocommerce.com/2026/01/08/variation-prices-caching-improvements-in-woocommerce-10-5/
Product Object Caching (sperimentale): cache delle istanze prodotto per request
Debutta una feature sperimentale chiamata Product Object Caching: l’idea è mettere in cache le istanze dei prodotti durante la singola request, così da evitare caricamenti duplicati dal database. Questo può migliorare sensibilmente le performance in pagine dove lo stesso prodotto viene richiesto più volte nel ciclo di esecuzione.
Riferimento PR: https://github.com/woocommerce/woocommerce/pull/62041 – Approfondimento: https://developer.woocommerce.com/2026/01/19/experimental-product-object-caching-in-woocommerce-10-5/
Product Filters: fix su cache data per evitare “inondazioni” di dati nel DB + cleanup transients aggiornato
Viene risolto un problema prestazionale legato ai Product Filters: i dati di cache non venivano impostati e caricati correttamente, col rischio di riempire il database con cache non gestite e di impattare le performance degli store con cataloghi grandi.
In 10.5 la cache dei filtri viene gestita in modo più corretto e viene anche aggiornato lo strumento di pulizia dei transients di WooCommerce per cancellare la filter data cache quando esegue il cleanup. Se un negozio usa il blocco Product Filters e continua a vedere rallentamenti, una possibile causa è proprio questa: la soluzione indicata è ripulire i transients di WooCommerce. Riferimento: #62575.
Changelog completo
Per l’elenco completo delle modifiche, il riferimento è il changelog nel branch della beta: https://github.com/woocommerce/woocommerce/blob/10.5.0-beta.1/plugins/woocommerce/readme.txt
Cosa testare subito (checklist pratica per chi sviluppa estensioni)
- Store con volumi elevati: verifica l’impatto dei nuovi Scheduled Imports su Analytics (tempi di aggiornamento, carico ActionScheduler, eventuali import manuali).
- Se hai logica custom su import/rigenerazione Analytics: controlla i nuovi filter
woocommerce_analytics_import_intervalewoocommerce_analytics_regenerate_batch_size. - Checkout block: prova scenari multi-package (soprattutto abbonamenti) e controlla il passaggio Ship/Pickup per assicurarti che la scelta del metodo di spedizione resti coerente.
- Compatibilità con ordini storici: apri ordini “vecchi” o con dati tasse anomali e, se fai manipolazioni custom, valuta l’uso del filter
woocommerce_order_item_legacy_tax_conversion. - Admin UI e Select2: se il tuo plugin usa Select2, verifica che gli stili non vengano più alterati da WooCommerce e che i tuoi override CSS continuino a funzionare.
- Tasse spedizione: se implementi regole fiscali complesse, esplora il nuovo
woocommerce_shipping_tax_classper calcoli dinamici. - Integrazioni REST: controlla endpoint che leggono/scrivono variazioni con attributi contenenti caratteri speciali.
- Frontend prodotto variabile: verifica eventuali personalizzazioni del pulsante Add to Cart (JS/CSS) considerando che ora è disabilitato fino al completo load dello script variazioni.
- Performance: se sperimenti feature di caching, tieni d’occhio la nuova REST API cache sperimentale e il Product Object Caching; se usi Product Filters block su cataloghi grandi, verifica i miglioramenti e considera un cleanup transients se noti rallentamenti.
Riferimenti / Fonti
- 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 PR #61603
- WooCommerce PR #61625
- WooCommerce PR #62271
- WooCommerce PR #61956
- WooCommerce PR #62040
- WooCommerce PR #62041
- WooCommerce PR #62575
- WooCommerce 10.5.0-beta.1 readme.txt changelog
- WooCommerce Beta Tester
Marco Bianchi
Sviluppatore di giochi e programmatore grafico. Unity e WebGL sono il mio campo. Amo i progetti visivamente spettacolari e la programmazione creativa.
Tutti gli articoli