Descripció
WooCommerce és la plataforma de comerç electrònic de codi obert per al WordPress.
La nostra plataforma bàsica és lliure, flexible i amplificada per una comunitat global. La llibertat de codi obert significa que mantindreu la propietat total del contingut i les dades de la vostra botiga per sempre.
Tant si poseu en marxa un negoci, com si feu vendes al detall en línia o si desenvolupeu llocs per a clients, utilitzeu WooCommerce per crear una botiga que combina contingut i comerç perfectament.
- Creeu aparadors atractius mitjançant temes adequats a la vostra marca i indústria.
- Augmenteu els ingressos amb una experiència optimitzada a la cistella de la compra que converteix.
- Personalitzeu les pàgines dels productes en qüestió de minuts mitjançant blocs de productes modulars.
- Mostreu béns físics i digitals, variacions de productes, configuracions personalitzades, baixades instantànies i articles afiliats.
- Veneu subscripcions, reserves, or afiliacions, amb les nostres extensions verificades pels desenvolupadors.
- Pugeu a les primeres posicions dels resultats de cerca aprofitant l’avantatge de SEO de WordPress.
- Construïu una plataforma escalable. Aconseguiu un comerç electrònic flexible per a botigues de gran volum.
TOTES LES EINES QUE NECESSITEU PER VENDRE
Les eines integrades i les integracions populars us ajuden a gestionar de manera eficient les operacions del vostre negoci. Molts serveis es poden afegir gratuïtament amb un sol clic mitjançant l’assistent de configuració opcional.
- Trieu com voleu cobrar. Gestioneu convenientment els pagaments des de la comoditat de la vostra botiga amb WooPayments (disponible als EUA, Regne Unit, Irlanda, Austràlia, Nova Zelanda, Canadà, Espanya, França, Alemanya i Itàlia). Accepteu de forma segura targetes, carteres mòbils, transferències bancàries i diners en efectiu gràcies a les més de 100 passarel·les de pagament, incloses Stripe, PayPal i Square.
- Configureu les vostres opcions d’enviament. Imprimiu etiquetes USPS directament des del tauler i, fins i tot, planifiqueu una recollida amb WooCommerce Shipping (només als EUA). Connecteu-vos amb operadors coneguts com ara UPS i FedEx – a més d’una àmplia varietat de solucions de lliurament, inventari i compliment per a la vostra configuració regional.
- Simplifiqueu l’impost sobre les vendes. Afegiu WooCommerce Tax o serveis integrats similars per fer que els càlculs automatitzats siguin una realitat.
Feu créixer el vostre negoci, afegiu característiques i superviseu la vostra botiga sobre la marxa
WooCommerce és sinònim de negoci. Controleu les mètriques de rendiment més importants per a vosaltres mitjançant un potent i flexible tauler central integrat al WooCommerce.
Amplieu el vostre públic a través dels canals de màrqueting i socials mitjançant les integracions de Google Ads, HubSpot, Mailchimp i Facebook. Sempre podeu consultar el centre de màrqueting del tauler per obtenir idees i consells nous que us ajudin a tenir èxit.
Milloreu la funcionalitat de la botiga mitjançant centenars d’extensions gratuïtes i de pagament de la botiga oficial del WooCommerce. Els nostres desenvolupadors aproven cada nova extensió i revisen periòdicament les extensions existents per mantenir els estàndards de qualitat de la botiga. Busquem activament productes que ajudin als creadors de botigues a muntar botigues exitoses.
Gestioneu la vostra botiga des de qualsevol lloc amb l’aplicació mòbil gratuïta del WooCommerce (Android i iOS). Atenció: Estigueu atents a l’addictiu so d’avís «cha-ching» cada vegada que realitzeu una nova venda!
Posseïu i controleu les dades de la vostra botiga – per sempre
Amb el WooCommerce, les vostres dades us pertanyen. Sempre.
Si opteu per compartir dades d’ús amb nosaltres, podeu estar tranquils sabent que les dades són anònimes i es mantenen segures. Podeu deixar de compartir aquesta informació en qualsevol moment sense que això afecti la botiga.
A diferència de les solucions de comerç electrònic allotjades, les dades de la botiga del WooCommerce estan preparades pel futur; podeu exportar tot el vostre contingut i portar el vostre lloc web a qualsevol plataforma que trieu. Sense restriccions.
Per què els desenvolupadors trien (i estimen) WooCommerce
Els desenvolupadors poden utilitzar el WooCommerce per crear, personalitzar i escalar una botiga per satisfer les especificacions exactes d’un client, fent millores mitjançant extensions o solucions personalitzades.
- Aprofiteu els ganxos i filtres per modificar o crear funcionalitats.
- Integreu pràcticament qualsevol servei mitjançant una API REST sòlida i els webhooks.
- Dissenyeu i creeu blocs de contingut personalitzats amb React.
- Inspeccioneu i modifiqueu qualsevol aspecte del codi de l’extensió principal.
- Agilitzeu el desenvolupament mitjançant un CLI ràpid com un llamp.
La plataforma bàsica es prova amb rigor i sovint, amb el suport d’un equip de desenvolupament dedicat que treballa en diferents zones horàries. Amb cada versió s’actualitza una documentació completa que us permetrà construir exactament la botiga que necessiteu.
Formeu part de la nostra creixent comunitat internacional
WooCommerce té una gran comunitat apassionada dedicada a ajudar els botiguers a tenir èxit, i aquesta creix ràpidament.
Hi ha Meetups del WooCommerce a ubicacions de tot el món a les que podeu assistir gratuïtament i, fins i tot, involucrar-vos en l’organització. Aquests esdeveniments són una manera fantàstica d’aprendre dels altres, compartir la vostra experiència i connectar-vos amb gent amb idees afins.
WooCommerce també té presència habitual a WordCamps a tot el món – ens encantaria conèixer-vos.
Col·laboreu i traduïu
WooCommerce està desenvolupat i suportat per Automattic, els creadors de WordPress.com i Jetpack. També tenim centenars de col·laboradors independents i sempre hi ha espai per a més. Dirigiu-vos al repositori de WooCommerce a GitHub per esbrinar com podeu donar un cop de mà.
WooCommerce està traduït a diversos idiomes, inclosos el danès, l’ucraïnès i el persa. Ajudeu a traduir WooCommerce encara més afegint la vostra configuració regional – visiteu translate.wordpress.org.
Connexió a WooCommerce.com
Podeu connectar la vostra botiga a WooCommerce.com per gestionar les vostres subscripcions a WooCommerce Marketplace i rebre actualitzacions de productes sense sortir de l’administració del WordPress. La connexió també permet la instal·lació dels productes comprats directament des de WooCommerce.com i simplifica l’accés al suport tècnic. Si voleu saber quines dades es recopilen i com s’utilitzen, consulteu la nostra política de privadesa.
Blocs
Aquesta extensió proporciona 1 bloc.
- Coming Soon
Instal·lació
Requeriments mínims
- Es requereix PHP 7.4 o superior (es recomana PHP 8.0 o superior)
- Es requereix MySQL 5.5.5 o superior, o la versió 10.1 o superior de MariaDB
- WordPress 6.9 or greater
- (Recomanat) Límit de memòria del WordPress de 256 MB o més.
- (Recomanat) Compatibilitat amb HTTPS.
Instal·lació automàtica
La instal·lació automàtica és l’opció més fàcil ja que WordPress gestiona les transferències de fitxers i no haureu de sortir del navegador. Per fer una instal·lació automàtica de WooCommerce, accediu al vostre escriptori de WordPress, aneu al menú d’extensions i feu clic a «Afegeix».
Al camp de cerca, escriviu «WooCommerce» i, a continuació, cliqueu a «Cerca extensions». Un cop ens hàgiu trobat, podeu veure els detalls, com ara la versió puntual, la puntuació i la descripció. I el més important, per descomptat, el podeu instal·lar! Cliqueu a «Instal·la ara» i WordPress ho farà des d’allà.
Instal·lació manual
El mètode d’instal·lació manual passa per descarregar la nostra extensió d’eCommerce i pujar-la al servidor des de la vostra aplicació FTP preferida. El codex de WordPress té instruccions sobre com es fa.
S’està actualitzant
Les actualitzacions automàtiques haurien de funcionar sense problemes, però us recomanem que feu una còpia de seguretat del vostre lloc.
Si per algun motiu teniu problemes amb les pàgines de botiga/categoria després d’actualitzar, només heu de reiniciar els enllaços permanents anant a WordPress > Opcions > Enllaços permanents i fent clic a ‘Desa’. Això hauria de tornar les coses a la normalitat.
Dades de mostra
El WooCommerce inclou algunes dades de mostra que podeu utilitzar per veure l’aspecte dels productes; importeu sample_products.xml mitjançant l’importador del WordPress. També podeu utilitzar l’importador CSV o la nostra extensió CSV Import Suite per importar sample_products.csv
PMF
-
On puc trobar documentació i guies d’ús del WooCommerce?
-
Per obtenir ajuda sobre la configuració del WooCommerce, consulteu la guia d’introducció i la guia del nou propietari de botiga del WooCommerce.
Per ampliar o personalitzar el WooCommerce, consulteu la nostra documentació, i també les pràctiques recomanades per als desenvolupadors d’extensions.
-
On puc obtenir ajuda o parlar amb altres usuaris sobre WooCommerce Core?
-
Si esteu encallats, podeu demanar ajuda al fòrum de suport del WooCommerce seguint aquestes directrius, accediu a través del WooCommerce Community Slack o publiqueu la pregunta al grup WooCommerce Community a Facebook.
-
On puc obtenir ajuda per a les extensions que he comprat a la botiga de WooCommerce?
-
Per obtenir ajuda per a les extensions de pagament de la botiga del WooCommerce: en primer lloc, reviseu la nostra guia de resolució de problemes d’autoservei. Si el problema persisteix, creeu un tiquet de suport mitjançant el nostre servei d’assistència. Els nostres Happiness Engineers us respondran en un termini de 24 hores.
-
Tinc problemes per entrar a WooCommerce.com – què faig?
-
En primer lloc, solucioneu problemes d’inici de sessió comuns mitjançant aquesta guia detallada. Segueix sense funcionar? Poseu-vos en contacte amb nosaltres.
-
El WooCommerce funcionarà amb el meu tema?
-
Sí! El WooCommerce funcionarà amb qualsevol tema, però pot requerir algun estil addicional. Si busqueu un tema amb una integració plena amb el WooCommerce, us recomanem Storefront.
-
Com puc actualitzar el WooCommerce?
-
Tenim una guia detallada sobre com actualitzar el WooCommerce.
-
El meu lloc web ha deixat de funcionar – què puc fer?
-
Comenceu per diagnosticar el problema mitjançant la nostra guia de resolució de problemes.
Si heu notat l’error després d’actualitzar un tema o una extensió, és possible que hi hagi problemes de compatibilitat entre aquesta i el WooCommerce. Si el problema ha aparegut després d’actualitzar el WooCommerce, podria haver-hi un conflicte entre el WooCommerce i un tema o extensió obsolets.
En ambdós casos, es recomana executar una prova de conflicte mitjançant Health Check (que us permet desactivar temes i extensions sense afectar els vostres visitants) o resoldre el problema mitjançant un lloc de proves.
-
On puc informar sobre errors?
-
Informeu d’errors al repositori de WooCommerce a GitHub. També ens podeu avisar a través del nostre fòrum de suport – assegureu-vos de cercar als fòrums per confirmar que l’error encara no s’ha informat.
-
On puc sol·licitar característiques, temes i extensions nous?
-
Sol·liciteu noves característiques i extensions i voteu els suggeriments existents al nostre tauler d’idees oficial. Els nostres equips de producte revisen periòdicament les sol·licituds i les consideren valuoses per a la planificació del producte.
-
El WooCommerce és fantàstic! Puc col·laborar?
-
Sí, podeu! Uniu-vos al nostre repositori a GitHub i seguiu el blog de desenvolupament per estar al dia de tot el que passa al projecte.
-
On puc trobar la documentació de l’API REST?
-
Extensive WooCommerce REST API Documentation is available.
-
La meva pregunta no apareix aquí. On puc trobar més respostes?
-
Consulteu les preguntes freqüents per obtenir més informació.
Ressenyes
Col·laboradors i desenvolupadors
«WooCommerce» és programari de codi obert. La següent gent ha col·laborat en aquesta extensió.
Col·laboradors-
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” s’ha traduït a 71 configuracions regionals. Gràcies als traductors per les seves aportacions.
Traduïu «WooCommerce» a la vostra llengua.
Interessats en el desenvolupament?
Navegueu pel codi, baixeu-vos el repositori SVN, o subscriviu-vos al registre de desenvolupament per fisl de subscripció RSS.
Registre de canvis
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 …






