Descrizione
WooCommerce è la piattaforma eCommerce open-source per WordPress.
La nostra piattaforma di base è gratuita, flessibile e allargata attraverso una commmunity globale. La libertà dell’open-source significa mantenere la piena proprietà dei contenuti e dei dati del negozio per sempre.
Sia che tu stia avviando un’attività, vendendo in un negozio online e avendo anche punti vendita reali o sviluppando siti per i clienti, utilizza WooCommerce per avere un negozio che unisce in modo potente contenuto e affari.
- Crea vetrine fantastiche e invitanti con temi adatti al tuo brand e al tuo settore.
- Aumenta il fatturato con un’esperienza del carrello dello shopping ottimizzata che genera conversioni.
- Personalizza le pagine dei prodotti in pochi minuti usando blocchi di prodotti modulari.
- Mostra in vetrina beni fisici e digitali, varianti del prodotto, configurazioni personalizzate, download immediati ed elementi collegati.
- Vendi abbonamenti, prenotazioni o membership con le nostre estensioni sottoposte a controllo degli sviluppatori.
- Sali verso la parte alta dei risultati di ricerca usando abilmente i vantaggi SEO di WordPress.
- Sfrutta una piattaforma scalabile. Ottieni un eCommerce flessibile per negozi con volumi elevati.
TUTTI GLI STRUMENTI UTILI PER VENDERE
Gli strumenti integrati e le popolari integrazioni ti aiutano a gestire in modo efficiente le operazioni della tua azienda. Puoi aggiungere molti servizi gratuitamente con un solo clic tramite l’installazione guidata opzionale.
- Scegli il modo in cui vuoi ricevere i pagamenti. Gestisci i pagamenti in modo conveniente comodamente dal tuo negozio con WooPayments (disponibile in: Stati Uniti, Regno Unito, Irlanda, Australia, Nuova Zelanda, Canada, Spagna, Francia, Germania e Italia). Accetta in tutta sicurezza carte di credito, portafogli mobili, bonifici bancari e contanti grazie a oltre 100 gateway di pagamento, inclusi Stripe, PayPal e Square.
- Configura le opzioni di spedizione. Stampa le etichette USPS direttamente dalla tua bacheca e pianifica persino un ritiro con WooCommerce Shipping (solo per gli Stati Uniti). Entra in contatto con corrieri famosi come UPS e FedEx, oltre a un’ampia varietà di soluzioni di consegna, inventario e logistica per la tua località.
- Semplifica l’imposta sulle vendite. Aggiungi WooCommerce Tax o servizi integrati simili per mettere in pratica i calcoli automatizzati.
Fai crescere la tua azienda, aggiungi funzionalità e monitora il tuo negozio quando sei in movimento
WooCommerce significa business. Tieni traccia degli indicatori di performance più importanti per te, grazie alla bacheca centrale potente e flessibile integrata in WooCommerce.
Espandi il tuo pubblico attraverso il marketing e i canali social con le integrazioni di Google Ads, HubSpot, Mailchimp e Facebook. Puoi sempre dare un’occhiata al Marketing Hub sulla bacheca per idee e suggerimenti che ti aiuteranno ad avere successo.
Migliora la funzionalità del negozio con centinaia di estensioni gratuite e a pagamento del marketplace di WooCommerce. I nostri sviluppatori esaminano ogni nuova estensione e rivedono regolarmente quelle esistenti per mantenere gli standard di qualità del marketplace. Cerchiamo attivamente prodotti che aiutino i creatori a realizzare negozi di successo.
Gestisci il tuo negozio da qualsiasi luogo con l’app mobile gratuita di WooCommerce (per Android e iOS). Allerta spoiler: tieni l’orecchio teso per sentire il suono della notifica “Din din”, che crea leggermente dipendenza, ogni volta che effettui una nuova vendita!
Possiedi e controlla i dati del negozio, per sempre
Con WooCommerce, i tuoi dati appartengono a te. Sempre.
Se scegli di condividere i dati di utilizzo con noi, puoi avere fiducia nel fatto che saranno resi anonimi e tenuti al sicuro. Scegli di rinunciare in qualsiasi momento senza che questo abbia un impatto sul tuo negozio.
A differenza delle soluzioni di eCommerce ospitate, i dati del negozio WooCommerce sono a prova di futuro; sei libero di esportare tutti i tuoi contenuti e portare il tuo sito su qualsiasi piattaforma tu scelga. Nessuna restrizione.
Perché gli sviluppatori scelgono (e amano) WooCommerce
Gli sviluppatori possono usare WooCommerce per creare, personalizzare e ridimensionare un negozio per soddisfare le esatte specifiche del cliente, apportando miglioramenti attraverso le estensioni o le soluzioni personalizzate.
- Sfrutta gli hook di azione e i filtri per modificare o creare funzioni.
- Integra virtualmente qualsiasi servizio utilizzando una robusta API REST e webhook.
- Progetta e costruisci blocchi di contenuti personalizzati con React.
- Ispeziona e modifica qualsiasi aspetto del codice di base del plugin.
- Accelera lo sviluppo con una CLI super veloce.
La piattaforma di base viene testata in modo rigoroso e, spesso, supportata da un team di sviluppo dedicato che lavora attraverso i fusi orari. La documentazione completa viene aggiornata ad ogni rilascio, consentendoti di creare esattamente il negozio necessario.
Diventa parte della community internazionale in crescita
WooCommerce ha un’ampia community appassionata che si dedica ad aiutare i commercianti ad avere successo e sta crescendo rapidamente.
Ci sono incontri WooCommerce in varie parti del mondo ai quali puoi partecipare gratuitamente e prendere persino parte all’organizzazione. Questi eventi sono un ottimo modo per imparare dagli altri, condividere la tua esperienza e connetterti con persone che la pensano al tuo stesso modo.
WooCommerce partecipa anche regolarmente a WordCamp in tutto il mondo e saremmo felici di incontrarti.
Contribuisci e traduci
WooCommerce è sviluppato e supportato da Automattic, i creatori di WordPress.com e Jetpack. Abbiamo anche centinaia di contributori indipendenti e c’è sempre spazio per altri. Vai all’archivio GitHub di WooCommerce per scoprire la modalità di partecipazione.
Attualmente WooCommerce è tradotto in più lingue, tra cui danese, ucraino e persiano. Aiutaci a localizzare ulteriormente WooCommerce aggiungendo la tua lingua: visita translate.wordpress.org.
Connessione a WooCommerce.com
Puoi connettere il tuo negozio a WooCommerce.com per gestire i tuoi abbonamenti su WooCommerce Marketplace e ricevere aggiornamenti sui prodotti senza lasciare l’amministrazione WordPress. La connessione consente inoltre l’installazione di prodotti acquistati direttamente da WooCommerce.com e ottimizza l’accesso all’assistenza tecnica. Se desideri saperne di più su quali dati vengono raccolti e come vengono usati, leggi la nostra Politica sulla privacy.
Blocchi
Questo plugin fornisce 1 blocco.
- Coming Soon
Installazione
Requisiti minimi
- È richiesto PHP 7.4 o versione successiva (si consiglia PHP 8.0 o versione successiva)
- È richiesto MySQL 5.5.5 o versioni superiori OPPURE MariaDB versione 10.1 o versioni superiori
- WordPress 6.9 o versioni superiori
- Limite di memoria di WordPress di 256 MB o superiore (consigliato).
- Supporto HTTPS (consigliato).
Installazione automatica
L’installazione automatica è l’opzione più semplice: WordPress gestirà il trasferimento del file e non dovrai lasciare il tuo browser web. Per l’installazione automatica di WooCommerce, accedi alla tua bacheca di WordPress, naviga fino al menu Plugin e fai clic su “Aggiungi nuovo”.
Nel campo di ricerca digita “WooCommerce”, quindi fai clic su “Cerca plugin”. Una volta trovato, puoi visualizzare i dettagli come versione, valutazione e descrizione. Ancora più importante, puoi effettuare l’installazione! Fai clic su “Installa ora” e WordPress si occuperà del resto.
Installazione manuale
Il metodo di installazione manuale richiede di scaricare il plugin WooCommerce e di caricarlo sul tuo server web utilizzando la tua applicazione FTP preferita. Sul codex di WordPress puoi consultare le istruzioni su come effettuare questa operazione.
Aggiornamento
Gli aggiornamenti automatici dovrebbero funzionare correttamente, ma consigliamo comunque di effettuare il backup del sito.
Se riscontri problemi con le pagine negozio/categoria dopo un aggiornamento, prova ad aggiornare i permalink andando in WordPress > Impostazioni > Permalink e premendo “Salva”. In questo modo dovrebbe tornare tutto alla normalità.
Dati di esempio
Insieme a WooCommerce, vengono forniti alcuni dati di esempio che possono essere utilizzati per verificare l’aspetto dei prodotti; importa sample_products.xml tramite il programma di importazione WordPress. Puoi anche utilizzare il programma di importazione CSV di base o la nostra estensione della suite di importazione di CSV per importare sample_products.csv
FAQ
-
Dove posso trovare documentazione e guide utente per WooCommerce?
-
Per assistenza nell’impostazione e nella configurazione di WooCommerce, consulta la guida Per iniziare e la guida per i nuovi proprietari di un negozio WooCommerce.
Per estendere o creare temi WooCommerce, consulta la nostra documentazione e le Migliori pratiche per sviluppatori di plugin.
-
Dove posso ottenere supporto o parlare con altri utenti su WooCommerce Core?
-
Se ti trovi in difficoltà, puoi chiedere aiuto nel Forum di supporto di WooCommerce seguendo queste linee guida, contattarci tramite lo Slack della community di WooCommerce o scrivere sul gruppo della community di WooCommerce su Facebook.
-
Dove posso ottenere assistenza per le estensioni che ho acquistato dal Marketplace di WooCommerce?
-
Per assistenza con le estensioni a pagamento del Marketplace di WooCommerce: prima, rivedi la nostra guida fai da te alla risoluzione dei problemi. Se il problema persiste, apri un ticket di supporto tramite il nostro helpdesk. I nostri Happiness Engineer dedicati cercano di rispondere entro 24 ore.
-
Sto riscontrando problemi ad accedere a WooCommerce.com. Cosa succede ora?
-
Prima risolvi i problemi di accesso più comuni utilizzando questa utile guida passo-passo. Non funziona ancora? Contattaci.
-
WooCommerce funzionerà con il mio tema?
-
Sì! WooCommerce funzionerà con qualsiasi tema, ma potrebbero essere necessarie alcune modifiche aggiuntive. Se stai cercando un tema con l’integrazione avanzata di WooCommerce, consigliamo Storefront.
-
Come aggiorno WooCommerce?
-
Abbiamo una guida dettagliata su Come aggiornare WooCommerce.
-
Il mio sito non funziona. Cosa devo fare?
-
Inizia diagnosticando il problema con la nostra utile guida alla risoluzione dei problemi.
Se hai notato un errore dopo l’aggiornamento di un tema o un plugin, potrebbero essere presenti problemi di compatibilità tra questo e WooCommerce. Se il problema è si è verificato dopo l’aggiornamento di WooCommerce, potrebbe essere presente un conflitto tra WooCommerce e un tema o un plugin aggiornato.
In entrambi gli esempi, consigliamo di eseguire un test sui conflitti utilizzando Health Check (che ti consente di disattivare i temi e i plugin senza influire sui visitatori) o di risolvere il problema usando un sito di sviluppo.
-
Dove posso segnalare i bug?
-
Segnala i bug presenti nell’archivio GitHub di WooCommerce. Puoi anche inviarci una notifica tramite il nostro forum del supporto: assicurati di fare ricerche nei forum per avere la conferma che l’errore non sia già stato segnalato.
-
Dove posso richiedere nuove funzionalità, temi ed estensioni?
-
Richiedi nuove funzionalità ed estensioni e vota i suggerimenti esistenti sulla nostra bacheca ufficiale per le richieste di funzionalità. I nostri team di prodotto rivedono con regolarità le richieste e le considerano preziose per la pianificazione del prodotto.
-
WooCommerce è fantastico! Posso contribuire?
-
Sì, puoi! Entra nel nostro archivio GitHub e segui il blog relativo allo sviluppo per rimanere aggiornato su tutto ciò che accade nel progetto.
-
Dove posso trovare la documentazione sulle REST API?
-
Extensive WooCommerce REST API Documentation is available.
-
La mia domanda non è elencata qui. Dove posso trovare ulteriori risposte?
-
Dai un’occhiata alle domande frequenti per saperne di più.
Recensioni
Contributi e sviluppo
“WooCommerce” è un software open source. Le persone che hanno contribuito allo sviluppo di questo plugin sono indicate di seguito.
Collaboratori-
Automattic
-
WooCommerce
-
Mike Jolley
-
James Koster
-
Claudio Sanches
-
Rodrigo Primo
-
Peter Fabian
-
Vedanshu – Urumi.AI
-
Julia Amosova
-
obliviousharmony
-
Néstor Soriano Vilchez
-
sadowski
-
Ron Rennick
-
royho
-
Barry
-
Claudiu Lodromanean
-
Tiago Noronha
-
Kelly Choyce-Dwan
-
levinmedia
-
Albert Juhé Lluveras
-
Darren Ethier (nerrad)
-
Joshua Wold
-
Nadir Seghir
-
Rua Haszard
-
Michael P. Pfeiffer
-
Niels Lange
-
Raluca
-
tjcafferkey
-
danielwrobert
-
patriciahillebrandt
-
albarin
-
Tung Du
-
Manish Menaria
-
Karol Manijak
-
sunyatasattva (a11n)
-
Alexandre Lara
-
Luigi Teschio
-
Danny Dudzic
-
Sam
-
Alex Florisca
-
opr18
-
tarunvijwani
-
Paulo Arromba
-
Saad T.
-
Boro Sitnikovski
-
Gerhard Potgieter
-
Corey McKrill
-
Jorge A. Torres
-
Leif Singer
-
Ján Mikláš
“WooCommerce” è stato tradotto in 71 lingue. Grazie a chi traduce per il contributo.
Traduci “WooCommerce” nella tua lingua.
Ti interessa lo sviluppo?
Esplora il codice segui il repository SVN, segui il log delle modifiche tramite RSS.
Changelog
11.0.0 2026-08-04
WooCommerce
- Fix – Add a compatibility shim for the removed product block editor block registry to avoid third-party extension fatals. #65500
- Fix – Add compatibility shims for the removed block templates PHP API to avoid third-party extension fatals. #65503
- Fix – Add per-period
refundsfield to the legacy REST sales report so consumers can compute net sales per day or month (fixes #27552, #42694). #65467 - Fix – Add referrerPolicy to address autocomplete fetch requests to ensure Referer header is sent even with restrictive site policies. #62967
- Fix – Addressed cache invalidation gaps for product instance caching refresh. #65431
- Fix – Add the WooCommerce debug group to HPOS CLI debug messages. #65701
- Fix – Align email order item names consistently after product thumbnails. #66141
- Fix – Align Woo Home in-app promo banner styling with updated admin card patterns. #65660
- Fix – Allow decimal stock quantities below 1 to remain in stock when the
woocommerce_stock_amountfilter is overridden withfloatval. The integer cast insideWC_Abstract_Product::validate_props()truncated values like0.5to0, incorrectly flipping the product to “Out of stock”. #65023 - Fix – Allow the “Regenerate the product attributes lookup table” tool (and the related abort and resume tools) to run via the REST API instead of failing with an “Invalid nonce” error. #66082
- Fix – Allow users with the
view_woocommerce_reportscapability to access the Analytics Leaderboards REST endpoint and view leaderboard data. #65492 - Fix – Avoid a critical Site Health warning when WooCommerce cannot verify uploads directory protection. #65757
- Fix – Block add to cart: adding a product that is in the cart only inside a bundle (or only as a booking, add-on configuration, or recipient-differentiated line) now adds a new standalone line instead of showing an error or changing the existing line’s quantity. #65869
- Fix – Blocks: Fix JS crash when the store returns a non-Error value in useCollection; convert it to a proper Error instance so the error boundary handles it gracefully. #64218
- Fix – Blueprint: export SQL steps using a table prefix placeholder instead of the source site’s database prefix, so settings can be imported on sites that use a different table prefix. #65942
- Fix – Cast refund amount values to float for PHP 8.1 TypeError fix. #64362
- Fix – Check parent product visibility in get_variation AJAX endpoint before returning variation data #65209
- Fix – Decode HTML entities in PTK pattern titles #65969
- Fix – Disable the “Continue” button on the product CSV import page until a file is selected or a server path is entered. #66009
- Fix – Fix ‘current-menu-item’ class not being added to the Shop page in the Page List block #65996
- Fix – Fix – Make WC_Blocks_Utils::has_block_in_page() search nested blocks recursively. #63386
- Fix – Fix/normalize the Store API cart/update-item route truncating decimal quantities when dispatching the cart item updated hook. #66312
- Fix – Fix: allow empty customer session fields to override prior values in WC_Customer_Data_Store_Session #65633
- Fix – Fix: ensure the dropdown inside Add to Cart + Options block render special character correctly. #66530
- Fix – Fix: Improve color contrast for delete link in .wc-metabox to meet WCAG 2.2 AA requirements (SC 1.4.3) #65605
- Fix – Fix: Sync active filters across multiple Product Filters blocks on the same page. #65622
- Fix – Fix a Sass build error in the Cart proceed-to-checkout block and remove an invalid script module declaration from the Product Price block. #65749
- Fix – Fix Checkout block shipping method UI after extension cart updates change the selected shipping rate. #66014
- Fix – Fix custom place order button (shortcode checkout) never submitting the order when a shipping address block is present. Client-side validation now only counts visible invalid fields, so the collapsed “Ship to a different address?” shipping fields no longer block submission. #65933
- Fix – Fix deferred product transient shutdown ordering before parent product sync. #66470
- Fix – Fix deleting a newly added custom field on the order edit screen with HPOS enabled. #66132
- Fix – Fix duplicate “Password Changed” admin notification email sent when a customer resets their password. #66145
- Fix – Fixed incorrect order counts when custom query_args are added via the order list table prepare_items query args filter. #66207
- Fix – Fixed quantity selector plus button size mismatch in Cart and Mini-Cart by replacing the fullwidth plus glyph with a standard plus. #65658
- Fix – Fix email previews for orders with downloadable products. #65856
- Fix – Fix encoded character in filter option label. #66446
- Fix – Fixes 0 value attributes from being skipped when variation is added to cart directly #65725
- Fix – Fixes checkout flow to not save shipping_method in customer meta #65544
- Fix – Fix exception message info leak to non-admin API callers, null dereferences on missing parent product and order, and duplicate date query key in OrdersTableQuery. #65368
- Fix – Fix express payment buttons missing a visible focus outline in Cart and Checkout. #65901
- Fix – Fix false “incompatible extension” notice shown in the block editor for express payment methods whose client-side
namediffers from their server-side gateway ID. The compatibility check now matches onpaymentMethodId(falling back toname). #66017 - Fix – Fix fatal DB errors during upgrade on sites where HPOS was never enabled by adding a table existence check before attempting to restore the meta_key_value index on wp_wc_orders_meta. #65536
- Fix – Fix fatal error in Analytics Customers DataStore when a plain WC_Order (rather than the Overrides\Order subclass) is passed to get_or_create_customer_from_order(), and harden date_last_active against a missing date_created by cascading through date_modified and date_paid before falling back to null. #64407
- Fix – Fix fatal TypeError in ProductVersionStringInvalidator when a persistent object cache returns the cached variation parent ID as a string. #65496
- Fix – Fix fatal TypeError in wc_modify_map_meta_cap() on PHP 8+ when get_userdata() returns false for an invalid user ID. #65506
- Fix – Fix hierarchical selection and expansion in SearchListControl for multi-level categories #66023
- Fix – Fix horizontal page overflow caused by the Settings UI tab bar including its padding outside the declared width. #65715
- Fix – Fix insufficient color contrast on attribute placeholder text to meet WCAG 2.2 AA requirements. #65608
- Fix – Fix My Account endpoint page titles showing the page title instead of the endpoint heading (e.g. “Orders”) in block themes when the cart is not empty. #65949
- Fix – Fix order totals only filling half the width on the admin order screen at mobile widths. #65469
- Fix – Fix oversized heading on the offline payment settings pages by setting the header font size explicitly instead of relying on the floating-header-scoped rule. #66044
- Fix – Fix PHP fatal in the Product Collection upsells handler when the product reference is unresolved (editor preview), and stop the cross-sells handler from leaking unresolved product references into its results. #65909
- Fix – Fix Product Collection block from marking the post as dirty when the editor loads. #65524
- Fix – Fix Product Collection inner blocks when rendered inside Query Loop post content. #65637
- Fix – Fix product description editor alignment in the classic product editor. #66087
- Fix – Fix Quantity Selector block styles when outside the Add to Cart + Options block #66261
- Fix – Fix refund amount validation message positioning #66248
- Fix – Fix silent backslash corruption in Agentic Checkout buyer/address fields and Store API checkout field validation. Calling wp_unslash() on JSON request body data that is never magic-quoted was stripping real backslashes typed by the buyer. #65900
- Fix – Fix silent backslash corruption in Store API (block checkout) address fields. Calling wp_unslash() on JSON body data that is never magic-quoted was stripping real backslashes from address_1, address_2, and other address fields. #65643
- Fix – Fix SKU duplication corrupting hyphenated SKUs. Duplicating a product with SKU
SKU-123now correctly producesSKU-123-1instead ofSKU-124. #65423 - Fix – Fix tax country code autocomplete to not be based on full country name #65879
- Fix – Fix tax state code autocomplete: allow searching by state code and scope suggestions to the selected country #65882
- Fix – Fix the daily log cleanup so it deletes all expired log files, not just the first 20. #66073
- Fix – Fix the log entry context being written and displayed as invalid JSON (e.g. with backtraces or namespaced class names) in WooCommerce > Status > Logs. #65565
- Fix – Fix the PSR-4 upgrade fallback fataling when a foreign Composer ClassLoader returns a non-array from getPrefixesPsr4() or a non-string from findFile(); validate both shapes so it degrades to no fallback instead. #65674
- Fix – Fix the WooPayments test account activation flow requiring a second click when switching to live payments. #65895
- Fix – Fix TypeError: string – string in get_formatted_order_total() on PHP 8.3 with refunded orders #65507
- Fix – Fix undefined behavior and potential infinite loop in WC_Post_Data::do_deferred_product_sync when more products are deferred for sync while a deferred sync is running. #65664
- Fix – For better compat, use order caps for HPOS placeholder posts. #58432
- Fix – Generate the POS catalog feed in chunks across several Action Scheduler actions so large catalogs no longer exceed the host request timeout or Action Scheduler’s failure period mid-generation, and detect and restart stuck generation jobs that would otherwise stay pinned in progress forever. #65860
- Fix – Hardens Store API product/review endpoints checks. #66065
- Fix – Harden the in-place-upgrade PSR-4 fallback autoloader so its remaining unguarded paths degrade gracefully: a foreign Composer ClassLoader shape and a torn/partially-written class file mid-upgrade now leave the class unresolved instead of fataling, so a defensive class_exists() probe during an upgrade returns false rather than raising an error. #65630
- Fix – Harden types handling in WC_Tax class get-methods. #65711
- Fix – Hide Product Gallery arrows and thumbnails for products with one or no images in the editor. #66108
- Fix – Hide unnecessary WooPayments business structure selection during onboarding. #66069
- Fix – Improve cart table accessibility and spacing so screen readers announce line items as rows with the correct column headers. #65689
- Fix – Improve contrast for product IDs in the Products list row actions. #65667
- Fix – Improve text color contrast on the admin order edit screen so order data, line-item details, and column headers meet WCAG AA accessibility standards. #65714
- Fix – Invalidate the correct meta cache group when the HPOS order meta corruption guard fires, so a corrupt legacy object-cache entry is re-read from the database instead of persisting across reads. #66554
- Fix – Keep random Product Collection pagination consistent across pages. #65462
- Fix – Lock the POS catalog feed file exclusively while writing so two overlapping generation processes can no longer interleave output into a corrupt feed. #65924
- Fix – Log when the POS product feed directory’s .htaccess cannot be updated, and avoid overwriting an unreadable or custom file during the legacy upgrade. #65621
- Fix – Mark grouped products add to cart table as presentational #66096
- Fix – Match orders and stock home panel border with other cards #65864
- Fix – Move logic to enable or disable the compatibility layer in block templates from ‘template_redirect’ to ‘template_include’ to be more accurate with the resolved template #64504
- Fix – Omit the LIMIT clause in OrdersTableQuery when an unlimited (-1) row count is requested, matching WP_Query nopaging behavior. Fixes a datatype mismatch error when the orders query runs against a SQLite database. #64396
- Fix – Order editing: skip reserved internal meta keys when saving order items, so they cannot be added via the “Add meta” button and stored as invisible meta. #65471
- Fix – Preserve Settings UI pending navigation after form-post saves. #65910
- Fix – Preserve the “Pending review” product status when exporting and re-importing products via CSV, instead of importing them as drafts. #66194
- Fix – Prevent a fatal error in the mini-cart and checkout review-order templates when a filter hooked on woocommerce_cart_item_product returns a truthy non-product value. #65685
- Fix – Prevent a fatal TypeError on the HPOS Orders screen when a persistent object cache returns a corrupt order or meta cache entry: invalid entries are now discarded and re-read from the database instead of breaking the page. #66506
- Fix – Prevent customer history metabox warnings for CPT-backed orders. #65921
- Fix – Prevent duplicate wc_product_start_scheduled_sale and wc_product_end_scheduled_sale actions from piling up in Action Scheduler when concurrent processes schedule sale events for the same product. #65709
- Fix – Prevent email previews from showing unrelated dummy products as downloadable items. #65865
- Fix – Prevent embedded WooPayments business verification from hanging when the Stripe loader fails. #65863
- Fix – Prevent fatal error on System Status page when log directory does not exist (e.g. when logging is disabled). #65403
- Fix – Prevent non-rate package metadata from invalidating cached shipping rates. #65541
- Fix – Prevent order items from being lost when order resume fails between removing items and saving the order. #64326
- Fix – Prevent PHP 8.5 deprecation notices when an order tax item has no matching tax rate. #65706
- Fix – Prevent Product Collection filter resets from clearing lifted collection controls. #66022
- Fix – Refresh product archive rewrite rules after the Shop page permalink changes. #65967
- Fix – Register a WooCommerce-scoped Composer PSR-4 fallback autoloader so that future in-place upgrades can resolve newly-added first-party Automattic\WooCommerce classes under src/ that the in-memory Jetpack classmap snapshot would otherwise miss, preventing “class not found” fatals during the upgrade request. #65338
- Fix – Reject attribute slugs whose taxonomy name (with the “pa_” prefix) exceeds WordPress’s 32-byte limit, instead of incorrectly counting characters. This lets users create attributes with multibyte slugs (Cyrillic, Chinese, etc.) that fit within the limit, and shows a live byte count next to the slug input so users can see how close they are to the limit before submitting. #64159
- Fix – Reject refund IDs in Store API order authorization to prevent a fatal when wc_get_order() returns a WC_Order_Refund. #64568
- Fix – Remove additional WooCommerce data when uninstalling with WC_REMOVE_ALL_DATA: the product_visibility taxonomy terms, the placeholder image attachment, and additional WooCommerce user meta. The Action Scheduler tables can also be removed by additionally defining the WC_REMOVE_ACTION_SCHEDULER constant. #65793
- Fix – Remove the push notification preferences, shopper list, and customer email verification user meta when uninstalling with WC_REMOVE_ALL_DATA. #66468
- Fix – Remove unnecessary font-weight override on the mini-cart quantity badge and use a theme-resolvable color for the count text in the checkout order summary item badge. #65647
- Fix – Resolve downloadable file paths and Mini Cart lazy-loaded script URLs against the configured content directory and site URL instead of a hardcoded /wp-content location, so they work on non-default WordPress directory layouts (e.g. Bedrock or a custom WP_CONTENT_DIR). #65599
- Fix – Resolve the local pickup tax location from the order’s own shipping line instead of attaching a per-call closure to woocommerce_order_get_tax_location during cart sync. #65603
- Fix – Respect the attribute’s custom term order when creating all product variations. #65501
- Fix – Restore reduced stock when an order transitions to failed, so inventory held by an order that reduced stock while on-hold (e.g. an accepted-but-pending SEPA/ACH payment) is released instead of staying reduced indefinitely. #66256
- Fix – Sanitize instead of texturize the email address in the StoreAPI response #66148
- Fix – Scope the order attribution install banner button styles to the banner, so they no longer center the content of every icon+text components button rendered on WooCommerce admin pages. #66206
- Fix – Security hardening: pass allowed_classes => false to unserialize() in LookupDataStore to prevent PHP Object Injection via crafted cached data. #65426
- Fix – Send cancelled order admin emails when pending orders are cancelled. #65855
- Fix – Serialize mutations of the wc_pending_batch_processes option in BatchProcessingController with a short-lived database lock and a fresh re-read, so concurrent enqueue/dequeue/remove requests no longer clobber each other and silently drop or resurrect batch processors. #66539
- Fix – Stop re-sending customer order email notifications when restoring orders from the trash. #65121
- Fix – Store API: ensure the woocommerce_default_order_status filter is always removed after OrderController::create_order_from_cart(), even if order creation throws. #65417
- Fix – Store API: limit and de-duplicate the attribute and taxonomy count requests accepted by the products/collection-data endpoint to prevent a single request from triggering an excessive number of database queries. #65420
- Fix – Store API: validate address data on the checkout-order endpoint before it is persisted, so a rejected request can no longer modify an existing order’s address or totals. #65787
- Fix – Structured data: emit a single Offer with the exact variation price (and
inProductGroupWithID) when a variation-specific URL is requested, instead of the parent AggregateOffer price range, fixing Google Merchant “price mismatch” disapprovals. #66043 - Fix – Tolerate settings section registry failures when resolving the Settings UI request context, preventing update-time fatals. #65975
- Fix – Updates anchor rendering logic to not show an anchor tag when product image link is disabled #65682
- Fix – Updates the
product_shipping_classtaxonomy to be private. #63146 - Fix – Use a direct filesystem instance for log, import, product feed, and transient file operations inside the uploads directory, so they no longer fail on sites that have FS_METHOD set to an FTP-based method without complete credentials. #64666
- Fix – Use a fixed black overlay color for the drawer instead of inheriting the theme palette. #65579
- Fix – Use fixed colors for the coming soon footer banner instead of inheriting them from the active theme. #65580
- Fix – Use HTTPS for all geolocation IP-lookup and geo-IP requests. Switch the IP-lookup services (ipify, ipecho, ident, tnedi) to HTTPS and replace the HTTP-only ip-api.com geo-IP provider with the HTTPS-based country.is, so visitor IP addresses are never sent over unencrypted connections. #66223
- Fix – Use the checkout hold stock setting only for core checkout stock reservations. #66048
- Fix – v4 Orders API: align fee/shipping
can_be_refundedwith the refund validator — compare on a tax-inclusive absolute basis (so discount/negative fee lines report refundable) and round to currency precision (so a fully-refunded line is not reported refundable on a sub-cent float residue). #65645 - Fix – Variation bulk action “Set scheduled sale dates”: block submission when the sale end date is earlier than the sale start date, and clear sale dates submitted as blank instead of storing 1970-01-01. #66013
- Fix – Warn when additional checkout fields are registered before the woocommerce_init action, which can load translations too early. #66172
- Fix – Warn when an order status key is too long and can’t be stored. #66164
- Fix – Improve lost connection detection on WooCommerce admin screens #66676
- Fix – Restore 64px product thumbnails in the Mini Cart. #66747
- Fix – Canonicalize non-string option values in Settings UI schemas so select and radio fields show the saved selection. #66933
- Fix – Convert boolean Settings UI schema values the way the client does and canonicalize visibility values alongside their controller field. #66955
- Fix – Preserve settings navigation when Payments sections fall back from the Settings UI. #66907
- Fix – Prevent WordPress personal preferences from being exposed as customer metadata. #66840
- Fix – Show the Save button when an experimental Settings UI page falls back to the legacy renderer. #66980
- Fix – Stop the HPOS order meta corruption guard from treating extension-injected virtual meta rows (a meta_key and meta_value but no meta_id) as corrupt, which purged the meta cache and logged a warning on every read. #66837
- Fix – Fix a fatal error on the shortcode checkout when a phone, postcode, or state validated field is registered outside the billing and shipping fieldsets. #67107
- Fix – Temporary deactivate persistent product status counters and rollback to WordPress API usage. #67094
- Fix – Add no-op WC_REST_Layout_Templates_Controller and WC_REST_Products_Catalog_Controller stubs so an in-place update from 10.9.x does not fatal when the 10.9 controller list instantiates a class whose file has already been swapped away. #67138
- Fix – Revert the fixed end-prices order calculation changes from PR #63744, which caused tax-inclusive stores using the woocommerce_adjust_non_base_location_prices filter to charge the net amount on block/Store API checkout #67161
- Fix – Revert the legacy script blocking change (#64431) that broke the classic cart and checkout on sites loading a second jQuery instance. #67363
- Add – Add a “Send checkout recovery email” action to the order actions dropdown so merchants can manually send the Checkout Recovery email for pending or checkout-draft orders past the 1-hour abandonment threshold. #65136
- Add – Add a contextual Marketplace recommendation card to the WooCommerce Orders screen, shown to eligible stores based on locally-evaluated promotion rules. #65970
- Add – Add a native Settings UI page provider path for registered settings sections. #65975
- Add – Add a new transactional abandoned cart recovery email that prompts customers to complete a pending checkout, behind the new
abandoned_cart_recoveryfeature flag. #66393 - Add – Add a recommendation card on the Abandoned cart recovery email settings page. #65136
- Add – Add a resend action to the temporary-password notice on My Account so customers can request a fresh change-password email. #65821
- Add – Add a setting to enable or disable backorder stock notification emails, plus a woocommerce_should_send_backorder_notification filter, mirroring the existing low stock and out of stock notifications. #65891
- Add – Add a user profile control so admins can view and set a customer’s email-confirmation status. #65824
- Add – Add a woocommerce_format_phone_number filter and a WC_Validation::is_phone_format() method. #66122
- Add – Add CurrencyPosition enum class for woocommerce_currency_pos option values and adopt it in the Store API and Marketing Campaigns REST API. #66128
- Add – Add customer email verification, letting shoppers securely link past guest orders to their account once they confirm ownership of their email address. #65822
- Add – Add DimensionUnit enum class for woocommerce_dimension_unit option values and implement it across the codebase. #66064
- Add – Added Tax extensions recommendations. #65786
- Add – Add image_size query parameter to the products and product variations REST API endpoints, allowing consumers to request a specific registered WordPress image size. #64009
- Add – Add option disabling filter drawer on smaller screens. #65671
- Add – Add OrderUtil::custom_orders_table_data_sync_is_enabled() so extensions can cheaply check whether HPOS data sync is enabled without running the expensive is_custom_order_tables_in_sync() query. #65649
- Add – Add refund preview endpoint (POST /wc/v4/refunds/preview) for server-side refund calculation #65335
- Add – Add styling for settings UI shell header badges. #65825
- Add – Add TaxDisplayMode enum class for woocommerce_tax_display_shop/cart option values and implement it across the codebase. #65812
- Add – Add the foundation for POS staff management: an experimental
point_of_sale_stafffeature flag (off by default), a flag-gated orchestrator, and thepos_*capability access model that keys POS access on holding anypos_*WP capability. No runtime surface yet; the staff endpoint, attribution, and admin UI register behind the flag in follow-up changes. #65657 - Add – Add theme.json support to breadcrumbs block #65460
- Add – Add the POS preset layer to the capability model: capability bundles for the Cashier, Manager, and Admin presets, assigned or cleared per user via
woocommerce_pos_*capabilities (never WP roles), with the assigned preset recorded in user meta and cleaned up on uninstall. Behind the off-by-defaultpoint_of_sale_stafffeature flag. #65661 - Add – Add the
woocommerce_variable_product_taxes_influence_pricefilter. #65394 - Add – Add Webflow platform to the CLI products migrator. #64866
- Add – Add WeightUnit enum class for woocommerce_weight_unit option values and implement it across the codebase. #64422
- Add – Add woocommerce_term_recount_product_count filter to _wc_term_recount. #64374
- Add – Add woocommerce_validate_phone filter to allow customizing phone number validation #65817
- Add – Allow POS catalog product feed files to be served by enabling file access on the feed directory while preventing directory listing. #65563
- Add – Analytics: list failed order imports in the Import historical data section with a retry action. #65509
- Add – Customers can now unsubscribe from Checkout Recovery emails via a one-click link in the email footer. #65136
- Add – Inject default sibling-section navigation into native Settings UI page schemas that omit shell.sectionNavigation. #65975
- Add – Make per-line
refund_totaloptional on POST /wc/v4/refunds. When omitted, the backend computes the tax-inclusive refund total from the order line item’s unit price × quantity. The legacy explicit form (refund_total without quantity) is preserved for v3-style callers. #65439 - Add – POST /wc/v4/refunds/preview: accept refund_total per line item for partial-amount previews (quantity now optional when refund_total is provided). For the quantity and tax-inclusive refund_total forms, preview and create split tax by the line’s stored total/tax ratio and round amounts identically, so a previewed amount matches the created refund to the cent. #65645
- Add – Register a GDPR privacy exporter and eraser for shopper lists so admin Export/Erase Personal Data tools cover saved-for-later and wishlist data. #65251
- Add – Schedule the abandoned cart recovery email to send 2 hours after a pending order is created, and cancel the pending send when the order leaves the pending status. #66393
- Update – Customer email verification now confirms via a one-time login-gated link instead of a 6-digit code. #65971
- Update – Deprecate the Point of Sale feature flag and remove its toggle from WooCommerce settings; POS-related functionality (settings page, product visibility, and transactional emails) is now always enabled. The flag setting remains readable via the REST API for mobile app compatibility. #65573
- Update – Load the WordPress Design System tokens stylesheet on WooCommerce settings pages so Settings UI styles consume real design tokens. #66542
- Update – Move several WooCommerce admin status notices to Site Health and show regeneration progress in status tools; deprecate the related WC_Admin_Notices/WC_Regenerate_Images notice callbacks and stop honoring the woocommerce_hide_* notice dismissal filters #64758
- Update – Remove @woocommerce/create-product-editor-block package #65435
- Update – Remove the deprecated product block editor feature, package, routes, assets, and extension APIs. #65500
- Update – Render settings UI section cards with WordPress Design System components behind the settings-ui feature flag. #66456
- Update – Replace PanelBody with ToolsPanel in All Reviews, Reviews by Category, and Reviews by Product inspector controls. #65799
- Update – Replace PanelBody with ToolsPanel in Stock Filter inspector controls. #65625
- Update – Replace PanelBody with ToolsPanel in the PageSelector component. #64935
- Update – Update Algeria states from 48 to 58 wilayas; also correct DZ-11 spelling. #65385
- Update – Update Product Filter Status block labels to use availability wording. #65803
- Update – Update product publish panel catalog visibility layout and extension row ordering. #66080
- Update – Update the Action Scheduler package to version 4.0.0. #65790
- Update – Update the WordPress package catalog to WordPress 6.9 package versions. #65481
- Update – Use the standard WordPress UI Notice for payment method eligibility notices in WooPayments onboarding. #66016
- Update – Settings UI: hide the shell header for pages registered at the top level of settings, which keep the classic section links and a save button at the bottom of the page. Payments drill-down pages show the header with breadcrumbs in place of the top-level settings tabs. #66662
- Dev – Add delivery-agnostic ProductShapeMapperInterface to the ProductFeed framework, deprecating ProductMapperInterface in its favor. #65720
- Dev – Add internal helper methods on Refunds\DataUtils to support the upcoming refund preview endpoint. #65334
- Dev – Add to Cart + Options: add extra e2e tests to cover skipped unit tests #66118
- Dev – Audit Action Scheduler APIs usage. #65831
- Dev – Bump grunt-contrib-cssmin to 4.x (clean-css 5) so the admin CSS pipeline preserves @container at-rules. #65842
- Dev – Deprecate the Automattic\WooCommerce\Blocks\QueryFilters class. #65598
- Dev – Fix product-reviews “can delete a product review” E2E flake by waiting for the trash AJAX to commit before navigating to the Trash view. #65911
- Dev – Fix the Blocks e2e nightly suite: mount the released plugin at the canonical
woocommercefolder via a wp-env mapping, instead of letting wp-env name the plugin folder after the release zip (e.g.woocommerce-trunk-nightly), which broke the test setup’s plugin-path assumptions. The generated test translations are mapped into the plugin’s languages directory the same way. Also resolve the active plugin path (WC_ABSPATH) for the sample product import. #65798 - Dev – Force immediate analytics import mode in the analytics-data E2E spec so its orders import deterministically regardless of the store’s scheduled-import default; test-only, no changes to shipped code. #66097
- Dev – Harden Blocks non-null assertion lint rule to error. #66010
- Dev – Migrate Blocks e2e leaf utils (constants, test, types, wp-cli, get-test-translation, request-utils, navigation) and content-templates into the Core e2e suite under a blocks/ namespace; test-only, no changes to shipped code. #65628
- Dev – Migrate Blocks e2e non-module assets (themes, test plugins, test data, lint rules) into the Core e2e suite under a blocks/ namespace; test-only, no changes to shipped code. #65442
- Dev – Migrate Blocks e2e page-object utils (admin, editor, frontend, local-pickup, mini-cart, performance, shipping) into the Core e2e suite under utils/blocks/; test-only, no changes to shipped code. #65571
- Dev – Migrate Blocks e2e specs into the Core e2e suite under tests/blocks and add a core testIgnore guard so the core e2e project does not collect them; the Blocks suite keeps running them from the new location. Test-only, no changes to shipped code. #65670
- Dev – Migrate offline payment settings forms to DataForm. #65731
- Dev – Mount E2E helper plugins as a directory and provision wp-cli.yml in-container so single-file Docker mounts no longer surface as empty files under gRPC FUSE. #65807
- Dev – Prepare Marketplace JSX and …






