WooCommerce

Descripción

WooCommerce es un plugin gratuito de eCommerce que te permite vender cualquier cosa, con elegancia. Creado para que se integre sin problemas con WordPress, WooCommerce es la solución eCommerce favorita en todo el mundo y ofrece un control total tanto a propietarios de tienda como a desarrolladores.

Con una flexibilidad infinita y acceso a cientos de extensiones WordPress tanto gratis como de pago, WooCommerce actualmente gestiona el 30% de todas las tiendas online – más que ninguna otra plataforma.

Vende lo que sea, donde sea

Con WooCommerce puedes vender tanto productos físicos como digitales en cualquier forma o tamaño, ofrecer variaciones de productos, configuraciones múltiples y descargas instantáneas a los compradores, y puedes incluso vender productos afiliados de mercados online.

Con las extensiones de pago puedes ofrecer reservas, membresías y suscripciones periódicas. ¿Quieres vender suscripciones mensuales de artículos físicos u ofrecer a tus clientes un descuento en descargas digitales? Todo es posible.

Envía donde quieras

Ofrece envíos gratuitos, envíos a precio fijo o haz cálculos en tiempo real. Limita los envíos a países concretos, o abre tu tienda a todo el mundo. El envío es sumamente configurable, y WooCommerce incluso es compatible con envíos directos.

Extensas opciones de pago

WooCommerce incluye la posibilidad de aceptar las principales tarjetas de crédito, PayPal, transferencias bancarias o pago contra reembolso. ¿Quieres más opciones? Más de 140 pasarelas de pago locales se integran con WooCommerce, incluyendo algunas tan populares como Stripe, Authorize.net y pagos Amazon.

Tu lo controlas todo – siempre

WooCommerce te permite un control completo de tu tienda, desde los impuestos a los niveles de inventario o las cuentas de cliente. Añade o quita extensiones, cambia tu diseño y modifica los ajustes a tu gusto. Todo está bajo tu control.

Uno de los mayores riesgos de usar una plataforma de eCommerce alojada es qué pasa con tu tienda si el proveedor cierra la tienda. Con WooCommerce tienes un control completo así que no hay ninguna razón por la que preocuparse. Tus datos te pertenecen – y están seguros, gracias a auditorías frecuentes de los líderes de la industria.

Define tu estilo con Storefront

Storefront is a free WordPress theme available to any WooCommerce store. Along with deep WooCommerce integration, Storefront prioritizes speed and uptime while eliminating theme and plugin conflicts during major updates.

Define tus estilos aún más personalizando Storefront a tu gusto o eligiendo uno de nuestros variados temas hijo para Storefront. Todo a tu alcance, y todo de código abierto.

Creado pensando en los desarrolladores

Ampliable, adaptable y de código abierto — WooCommerce se creó pensando en los desarrolladores. Con su fuerte y robusto framework puedes escalar la tienda de tus clientes hasta donde quieras, de lo más básico a lo más profesional (hasta el infinito y más allá).

Creado con una REST API, WooCommerce puede integrarse prácticamente con cualquier servicio. Puedes acceder a los datos de tu tienda desde cualquier parte, en cualquier momento, con un 100% de seguridad. WooCommerce permite a los desarrolladores crear, modificar y hacer crecer fácilmente una tienda que reúna sus especificaciones.

Da igual el tamaño de la tienda que quieras crear. WooCommerce se adapta a tus necesidades. Con la creciente colección de más de 300 extensiones puedes mejorar las funcionalidades de tu tienda para que se ajuste a las necesidades particulares de tus clientes – o incluso crear tu propia solución.

Si te preocupa la seguridad descansa tranquilo. WooCommerce lo auditan un equipo especializado de desarrolladores que trabajan a todas horas para identificar y solucionar cualquier fallo que se descubra.

Damos soporte a WooCommerce y toda sus extensiones mediante documentación accesible y fácil de comprender. Con nuestra documentación aprenderás a crear el sitio exacto que tu cliente necesita.

Montones de extensiones

WordPress.org aloja algunas fantásticas extensiones para WooCommerce, como:

¿Quieres verlos todos? Busca ‘WooCommerce’ en WordPress.org para encontrarlos.

Si buscas algo publicado y mantenido por los desarrolladores que han creado WooCommerce hay montones de extensiones de pago, las más populares son:

Y hay un montón más en el mismo sitio. Visita nuestra página de extensiones para descubrir de todo lo que somos capaces y todo lo que se puede hacer con las extensiones de pago para WooCommerce.

Únete a nuestra creciente comunidad

When you download WooCommerce, you join a community of more than a million store owners, developers, and WordPress enthusiasts. We’re one of the fastest-growing open source communities online, and no matter your skill level we’d love to have you!

If you’re interested in contributing to WooCommerce we’ve got more than 350 contributors, and there’s always room for more. Head over to the WooCommerce GitHub Repository to find out how you can pitch in.

¿Quieres añadir un nuevo idioma a WooCommerce? ¡Genial! Puedes contribuir en translate.wordpress.org.

Y, para finalizar, valora iniciar o unirte a una Meetup local de WooCommerce, hay un montón aquí.

Capturas

  • The WooCommerce settings panel.
  • Administración de productos en WooCommerce.
  • Panel de datos de producto.
  • Informe de ventas de WooCommerce.
  • Una página de producto simple.
  • Un archivo de producto (rejilla).

Instalación

Requisitos mínimos

  • PHP version 5.2.4 or greater (PHP 7.2 or greater is recommended)
  • MySQL version 5.0 or greater (MySQL 5.6 or greater is recommended)

Visit the WooCommerce server requirements documentation for a detailed list of server requirements.

Instalación automática

La instalación automática es la opción más sencilla ya que WordPress gestiona las transferencias de archivos y no tendrás que salir de tu navegador. Para hacer una instalación automática de WooCommerce accede a tu escritorio de WordPress, ve al menú de Plugins y haz clic en Añadir nuevo.

Teclea “WooCommerce” en el campo de búsqueda y haz clic en Buscar plugins. Una vez encuentres nuestro plugin de eCommerce puedes ver detalles como la versión, puntuación y descripción. Y lo más importante, por supuesto, puedes instalarlo simplemente haciendo clic en “Instalar ahora”.

Instalación manual

El método de instalación manual pasa por descargar nuestro plugin de eCommerce y subirlo a tu servidor desde tu aplicación FTP favorita. El codex de WordPress tiene instrucciones de cómo se hace.

Actualizaciones

Las actualizaciones automáticas deberían funcionar sin problemas; pero como siempre, antes haz copia de seguridad solo por asegurar.

Si por algún motivo tienes problemas con las páginas de tienda/categoría después de actualizar, solo tienes que forzar los enlaces permanentes yendo a WordPress > Ajustes > Enlaces permanentes y pulsando en ‘Guardar’. Esto debería volver las cosas a la normalidad.

Sample data

WooCommerce comes with some sample data you can use to see how products look; import sample_products.xml via the WordPress importer. You can also use the core CSV importer or our CSV Import Suite plugin to import sample_products.csv.

Preguntas frecuentes

¿Dónde puedo encontrar documentación y guías de uso de WooCommerce?

Por favor, para ajustes y configuración de WooCommerce dirígete a nuestra guía de usuario

Para extensiones o temas de WooCommerce, mira nuestro codex.

¿Dónde puedo obtener soporte o hablar con otros usuarios?

Si te atascas puedes pedir ayuda en el foro del plugin WooCommerce.

For help with premium extensions from WooCommerce.com, use our helpdesk.

¿Funcionará WooCommerce con mi tema?

Si, WooCommerce funcionará con cualquier tema, pero puede requerir algún cambio de estilos para que se ajuste bien. Por favor, para obtener ayuda revisa nuestro codex. Si estás buscando un tema que incluya integración con WooCommerce, te recomendamos Storefront.

¿Dónde puedo solicitar nuevas funcionalidades, temas eCommerce y extensiones?

You can vote on and request new features and extensions in our WooIdeas board

¿Dónde puedo informar de errores o contribuir con el proyecto?

Bugs can be reported either in our support forum or preferably on the WooCommerce GitHub repository.

¿Dónde puedo encontrar la documentación de la REST API?

You can find the documentation of our REST API on the WooCommerce REST API Docs.

¡WooCommerce es alucinante! ¿Puedo contribuir?

Yes you can! Join in on our GitHub repository 🙂

Reseñas

Okay

Okay. Why force me to give you a review?

Read all 2,979 reviews

Contribuidores y desarrolladores

“WooCommerce” is open source software. The following people have contributed to this plugin.

Contribuidores

“WooCommerce” has been translated into 52 locales. Thank you to the translators for their contributions.

Translate “WooCommerce” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Registro de cambios

3.4.6 – 2018-10-11

  • Fix – Security issues
  • Fix – Allow percent coupons with sale restrictions to apply to carts with sale items in them. #21241
  • Fix – Prevent multiple slashing of variation’s SKU. #21019

3.4.5 – 2018-08-29

  • Fix – Tweak sanitization when resetting password cookie. #20901
  • Fix – Use + instead of array_merge when appending parent to tax class to fix issues with numeric tax class names. #20916
  • Fix – Correct translation for North Khorasan. #20972
  • Fix – Unify scroll-to notices for all browsers. #20992
  • Fix – Prevent multiple slashing of variation’s SKU. #21019
  • Fix – Variation image in fullscreen now shows correct caption for the respective image. #21022
  • Fix – Vertically center admin order action buttons. #21053
  • Fix – Correct context for shipping packages translation. #21065
  • Fix – Add permission checks for installing Jetpack on the setup wizard. #21072
  • Fix – Use refund currency instead of store default currency when displaying refund amount in the edit order screen. #21106
  • Fix – Fix a typo in REST API customer schema. #21171
  • Fix – Use entire sentence for checkout address_2 placeholder string. #21186
  • Fix – Only suppress comments number on unsupported theme shop page. #21191
  • Fix – Don’t allow users without manage_product_terms permissions to create categories using the product importer. #21192
  • Fix – Correct sale coupon restriction logic. #21219

3.4.4 – 2018-07-25

  • Fix – Only wordwrap plain email content. #20723
  • Fix – Better escaping on product quick edit. #20740
  • Fix – Log file deletion. #20730
  • Fix – Search feature in Webhooks and REST API keys settings. #20706
  • Fix – Notices in REST API keys settings screen. #20706
  • Fix – add a check to prevent WC_Geolite_Integration::get_country_iso() from generating a PHP undefined index notice when unable to determine the country code for a given IP address. #20608
  • Fix – Variable product stock display if parent is stock managed and not the variation. #20661
  • Fix – Correctly hide cost for zero cost shipping methods after placing orders. #20663
  • Fix – Disabled autocomplete to prevent datepicker overlapping. #20687
  • Fix – Prevent a PHP notice in the setup wizard when store state is not selectable. #20695
  • Fix – Fix logic error in WC_Product_CSV_Exporter::get_column_value_stock. #20753
  • Fix – Fixed missing notice about no product variation matching. #20762
  • Fix – Correct PHPDocs in exporter class. #20861
  • Fix – Prevent Mailchimp redirection during the Setup Wizard. #20879
  • Fix – Don’t hide coupon form after coupon has been applied. #20889
  • Tweak – Remove (optional) text from Address line 2 field. #20622 #20639
  • Tweak – Removed 100% width for images on single product page using 2017 theme. #20818
  • Tweak – Add margin to best selling product title in the dashboard widget to avoid overlapping the sparkline. #20849
  • Tweak – Re-add woocommerce_order_details_after_customer_details_filter removed during WC 3.2. #20886
  • Dev – Added woocommerce_calculate_item_totals_taxes filter. #20586
  • Dev – Links to next and previous page sent out in HTTP header via REST API fixed for some endpoints. #20686
  • Dev – Better wc_format_phone_number cleaning. #20637

3.4.3 – 2018-06-20

  • Fix – Fix label for the price filter widget on RTL sites. #20417
  • Fix – Checkout: stopPropagation when payment method selected so description tips show on radio buttons. #20432
  • Fix – Shipping zone settings: fixed title for shipping methods without settings. #20441
  • Fix – Ensure custom Webhook topic selections are correctly saved in admin. #20406
  • Fix – Webhook bottom bulk actions. #20445
  • Fix – Fixes multisite orders dashboard widget to use order number rather than ID. #20457
  • Fix – Add check to ensure download log FK does not exist before adding it. Update routine will cleanup any duplicates. #20478
  • Fix – IPv6 support with HTTP_X_FORWARDED_FOR header. #20479
  • Fix – Avoid setting wrong prices when syncing grouped products with children. #20482
  • Fix – Separation of explode and end functions in two lines. End function should get a reference as parameter. #20500
  • Fix – Initialize payment gateways before running bulk actions so gateways can listen for events. #20502
  • Fix – Cast shipping total to a float so incl. tax shows only when needed. #20531
  • Fix – Fix automatic stock status updates based on stock level. #20573
  • Fix – Improved sanitize_special_column_name_regex trim to fix column matching when importing CSVs. #20486
  • Fix – Force importer log table to wrap long columns. #20534
  • Fix – Rest API: Prevent errors if variation parent is invalid and cannot be read. #20572
  • Fix – Rest API: Remove legacy API enabled check from auth endpoint. #20499
  • Fix – Display products on sub-subcategories when sorting parent category by price. #20579
  • Fix – Set order status to refunded when a PayPal transaction is refunded. #20574
  • Fix – fix undefined index in abstract-wc-widget. #20544
  • Fix – Round items for order total when recalculating order values to match cart. #20533
  • Fix – Removed mysql transactions when updating order status, tweaked caching, and improved version transient cleanup to prevent possible deadlocks on checkout. #20537
  • Tweak – Added a message to promote Wootenberg when running Gutenberg feature plugin. #20524
  • Tweak – Added a warning notice before removing personal data from orders in bulk. #20481
  • Dev – generate_select_html and generate_multiselect_html functions again support the usage of integer-keyed arrays as available values. #20569
  • Dev – Allow order billing fields to use a provided ‘value’. #20424

3.4.2 – 2018-06-05

  • Fix – Flexslider gallery fixes for RTL sites, and for variation image switching. #20328 #20321
  • Fix – Allow forms to be submitted when the password strength library fails to load. #20362
  • Fix – Personal data exporter: Do not export a customer data group containing no data. #20347
  • Fix – Fix navigation notification in settings when clicking save. #20335
  • Fix – Show discount amount for free shipping coupons. #20334
  • Fix – Fixed cache clearing for category children for sites running object caching. #20308
  • Fix – Use correct escaping on select2 placeholders. #20364
  • Fix – Order by price clauses when searching within terms. #20391
  • Fix – Clear needs_processing transient when adding a product to an order. #20390
  • Enhancement – Permission_id constraint checks on install. #20366
  • Dev – Added order to “woocommerce_order_is_vat_exempt” filter arguments. #20365
  • Localization – Disable states for Bahrain. #20363
  • Localization – Disable states for Luxemberg. #20389

3.4.1 – 2018-05-29

  • Fix – Fix webhook admin filtering URLs. #20236
  • Fix – Add missing wp_unslash calls to product data meta box to prevent quote characters being escaped on save. #20235
  • Fix – Display price filter widget in LTR mode on RTL sites. #20221
  • Fix – Refactor WC_Coupon constructor to allow for passing in coupon objects. #20193
  • Fix – Path field in advanced CSV importer was broken due to an esc_url call. #20191
  • Fix – Prevent shipping method instances trying to save settings on non-instance screens. #20217
  • Fix – Wrapper function to get full mysql version string with mariadb handling. #20231
  • Fix – woocommerce_pagination had some extra white space. #20214
  • Fix – If a file size cannot be read, ignore range headers to prevent offsite downloads being 0kb. #20205
  • Fix – Allow HTML when using wc_attribute_label(). #20202
  • Fix – Update address-i18n.js to prevent appending multiple “(optional)” labels. #20195
  • Fix – Check plugin properties exist when listening to auto_update_plugin hook. #20234
  • Fix – Add extra checks in get_canonical_package_rate_ids to prevent notices. #20237
  • Fix – Fix infinite loop with importing tax rates. #20253
  • Fix – Echo attribute label for “empty” default option. #20256
  • Fix – Fix download sample tax rates URL format. #20272
  • Fix – Product properties should not be accessed directly PHP notice when calling wc_get_product_attachment_props. #20282
  • Fix – If flexslider is disabled, gallery images also need to trigger photoswipe on click. #20290
  • Fix – Product import file uploads on windows servers. #20273
  • Fix – Fix variation attribute selection via the cart page/query string. #20293
  • Fix – Add greater specificity to required styling in 2017 theme. #20296
  • Enhancement – Export legacy paypal meta data in personal data exporter. #20200
  • Enhancement – Improve performance of wc_update_340_states update routine to help prevent timeouts. #20241
  • Dev – Remove red styling for PHP notice if using > 5.6. #20294
  • Dev – Add an action hook after printing the cart item name. #20190
  • Localization – Use “payment tokens” terminology in exports. #20197

3.4.0 – 2018-05-23

  • Feature – GDPR: Tools to export WooCommerce data using the new export functionality in WordPress 4.9.6. #19330
  • Feature – GDPR: Tools to bulk anonymize order data in admin. #19330
  • Feature – GDPR: Tools to turn off company/address-2/phone checkout fields to avoid unnecessary data collection, and a toggle to choose how required fields are presented. This is available via the Customizer. #19637
  • Feature – GDPR: Tools in the Customizer to change the terms and conditions checkbox label on the checkout. #19637
  • Feature – GDPR: Tools to define a privacy policy for the account page and checkout page in “account privacy” settings and within the Customizer. #19747
  • Feature – GDPR: Tools to automatically clean up and remove order personal data after a set time period. #19743
  • Feature – GDPR: Added privacy snippet which works with the new privacy page functionality in WordPress 4.9.6. #19749
  • Feature – Added a new order widget to the dashboard (on multisite) so you can see your orders across multiple stores on the same WordPress network. #17598
  • Feature – Added “display name” input on the My Account page. #19078
  • Feature – Product search improvements including stopword support and support for searching for multiple products at the same time. #19096
  • Feature – Cash on Delivery gateway can be enabled/disabled for specific shipping methods instead of only method types. #19221
  • Feature – Add wildcard email support for coupons. #19331
  • Feature – Added support for the GeoLite2 library as a replacement for the deprecated MaxMind GeoIP library. #19419
  • Feature – Added tool for cleaning up download permissions table. #19922
  • Tweak – GDPR: Improved appearance of checkout field ‘descriptions’ (if used) to make them more useful for privacy notices. #19637
  • Tweak – GDPR: Improved related data cleanup when deleting users/orders. #19330
  • Tweak – GDPR: Notice about HTTPS as a requirement in admin if missing. #19756
  • Tweak – GDPR: Improved the checkout (payments) settings screen, moved page options to a new “advanced” section, and made an “Accounts and Privacy” section. #19703
  • Tweak – GDPR: Hash customer email address in download URLs to protect privacy. #18957
  • Tweak – GDPR: Add highlight to T&C checkbox if not checked to show it needs to be checked. #19177
  • Tweak – GDPR: Automatically purge old logs after 30 days. #19920
  • Tweak – GDPR: Only log Webhook body if WP_DEBUG is enabled. #19914
  • Tweak – GDPR: Store less PII in PayPal standard. #19914
  • Tweak – Only show admin notices on WooCommerce screens/plugins/dashboard. #19772
  • Tweak – Standardize stock update messages in admin and correctly log who performed the action. When an order note is added after modifying stock manually, update order notes display via AJAX. #18080
  • Tweak – Rollback if payment complete or update status fails to prevent partial order updates on failure. #18175
  • Tweak – Made the system status tool which purges user carts also purge persistent carts. #18492
  • Tweak – Display whether or not external object cache is enabled in system status report. #18595
  • Tweak – Display zero value when using shipping classes. #18624
  • Tweak – Fixed settings table styling on mobile. #18655
  • Tweak – Updated Flexslider to version 2.7.0. #18779
  • Tweak – Enable screen options for list screens. #18817
  • Tweak – Don’t call WC_Install::install() on downgrades. #18818
  • Tweak – Remove user login from reset password link to protect personally identifying info. #18820
  • Tweak – Added a function to return a list of custom tables to aid with cleanup. #18831
  • Tweak – Enable going backwards in the setup wizard. #18921
  • Tweak – Make sure terms page exists and isn’t trashed before using it. #18993
  • Tweak – Toggle when clicking anywhere in toggle row during setup wizard. #19035
  • Tweak – Use read_product permissions instead of edit_product for ajax product search. #19087
  • Tweak – Add priceSpecification property with valueAddedTaxIncluded to product structured data. #19091
  • Tweak – Importer remembers mappings across imports. #19110
  • Tweak – Made coupon total displayed in cart more consistent. #19166
  • Tweak – Remove forced CSS line-heights to improve text input displays across different browsers. #19174
  • Tweak – When loading default attributes/variation, if there is no longer a match, reset the form and hide the notice #19190
  • Tweak – Removed admin product type column from core and made it into a free feature plugin. #19192
  • Tweak – Use woocommerce-no-js class to hide JavaScript-only forms and content. #19199
  • Tweak – Activate plugins during installation process even if directory doesn’t match slug. #19200
  • Tweak – Allow category and attribute ids in the products shortcode instead of only slugs. #19204
  • Tweak – Invalidate cart items when important props like product type are updated. #19255
  • Tweak – Don’t use mysql functions directly on system status page to prevent errors if they are disabled. #19281
  • Tweak – Replaces have_posts with woocommerce_product_loop which looks to see if there are products, or if the loop is going to be showing something else. #19288
  • Tweak – Delete widget options and order notes on uninstall. #19371
  • Tweak – Add unique names to all nonces in template fields and forms. #19387
  • Tweak – Enable using the tab key to select elements in selectWoo dropdowns. #19416
  • Tweak – Added autocomplete attributes to form elements for better autocomplete support. #19426
  • Tweak – Removed PayPal line item limit and ensured URLs are shorter than maximum length. #19493
  • Tweak – Disable Gutenberg editor on products posts. #19543
  • Tweak – Improvements around UI and wording of store setup step in setup wizard, a revamped extras step, and other improvements.
  • Tweak – Only push images to lightbox if an image is found. #19568
  • Tweak – Added and improved notices around old PHP versions and disabled geolocation on PHP 5.4 or lower. #19573
  • Tweak – The manage_stock field in the product API can return a mixed type instead of boolean for variations. #19598
  • Tweak – Link product import/export to WordPress import/export capabilities. #19602
  • Tweak – Use   to separate asterisks in required fields to prevent awkward line breaks. #19610
  • Tweak – Load meta box input values using CRUD and edit context. #19670
  • Tweak – Scroll to notices on cart/checkout for better mobile visibility. #19699
  • Tweak – Add filter to coupon URL on “Edit order” screen. #19777
  • Tweak – Throw error if order can’t be loaded on checkout. #19802
  • Tweak – Remove deprecated freegeoip service from geolocation. #19841
  • Tweak – Allow arrays of query vars in wc_get_orders and wc_get_products. #19848
  • Tweak – Invalidate fragment cache on theme switch.
  • Tweak – Include select tags when saving payment details temporarily in checkout.js. #19854
  • Tweak – Update – Include pending products in export. #19928
  • Tweak – Deprecate woocommerce_ajax_added_order_items action in favor of more useful action. #19933
  • Tweak – Enable touch-to-zoom on touch devices to make photoswipe more easily accessible. #20002
  • Tweak – Wizard: List out all plugins to be installed upon proceeding to the next step, with a highlight on hover indicating relevant settings. #19952
  • Tweak – Hide/show password strength meter instead of removing/inserting password strength meter. #20006
  • Tweak – Added support for HTTP_RANGE requests (used by iOS devices) to Force download method. #19984
  • Tweak – Replaced protocol-relative URLs for thumbnails in the cart and mini-cart with protocol-specific URLs to prevent problems with URLs that include port section. #19934
  • Tweak – In CSV exports, wrap cell in ‘ rather than just prepending to escape values. #20041
  • Tweak – Add JS listeners for reloading/reinitializing order items in edit-order page. #20082
  • Fix – Properly set orderby and order when calling WC_Customer_Download_Data_Store::get_downloads(). #1862
  • Fix – Set maxlength for order item meta key to avoid values disappearing if too long. #18918
  • Fix – Remove hardcoded /wp-content check for downloads. #18961
  • Fix – Made get_on_sale_products respect the setting to hide outofstock products. #18984
  • Fix – Prevent shortcode [product_page] redirecting to the actual product’s page after add to cart. #19043
  • Fix – Make the “main term” logic match for both the breadcrumb and product categories widget. #19044
  • Fix – Check parent status too when seeing if variation is purchasable. #19045
  • Fix – Fix uppercasing of accented characters. #19086
  • Fix – Do not allow updating parent ID from variations after created. #19097
  • Fix – Ensure coupon amount is not empty to prevent non-numeric value errors. #19098
  • Fix – Ensure shop archive works correctly when paged=1 is in the URL. #19104
  • Fix – Ensure orders created with woocommerce_adjust_non_base_location_prices filter active have the same cost on frontend and admin. #19109
  • Fix – Handling in the CLI to prevent Resource does not exist errors when using commands of a certain format. #19123
  • Fix – Use subtotal when calculating discounts in admin/orders to ensure prices are the same as on the frontend. #19159
  • Fix – Use kses to process download names to prevent escaped HTML displaying in emails.
  • Fix – Remove translation from Thailand state file to prevent PayPal errors around unsupported characters. #19219
  • Fix – Fix auto-select variation URLs with special characters in them. #19283
  • Fix – Introduced wc_round_discount and improved consistency of discount rounding. #19291
  • Fix – Only add schema for ratings to structured data when ratings are enabled. #19310
  • Fix – Prevent default state applying unless the country was also unset in JS state/country inputs. #19338
  • Fix – Escape quantity labels correctly to prevent broken html. #19375
  • Fix – Delete orphaned variations after product import. #19378
  • Fix – Ensure API credentials exist before defining PayPal refund support. #19380
  • Fix – Force word-wrapping in the log viewer to prevent layout-breaking long lines. #19503
  • Fix – Removes permission checks that were preventing webhooks from displaying properly when no post object existed. #19508
  • Fix – Empty cart after completing PayPal payment. #19509
  • Fix – Strip tags on aria-labels in Add to Cart template to prevent broken HTML. #19522
  • Fix – Update post_modified date when saving products and variations but no other product data. #19595
  • Fix – Clear comment count transient when cleaning product transients to prevent incorrect comment count displays. #19664
  • Fix – Load gateways before order is saved/email is triggered to ensure all information gets sent/processed. #19667
  • Fix – Clear shipping transient when saving shipping method on zones screen. #19668
  • Fix – Handle escape characters for fputcsv to work around PHP standards issues. #19678
  • Fix – Cast post IDs to integers in admin meta boxes. #19710
  • Fix – Fix CSV unescaping of negative numbers in download expiry/limit columns. #19732
  • Fix – Don’t load unsupported theme functionality if shop page ID is -1. #19822
  • Fix – Select and display “Downloadable” option in product admin filter when selected. #19876
  • Fix – Add sort handle column when adding new tags. #19875
  • Fix – More thorough CSV importer cleanup. #19877
  • Fix – Fix gallery switching when image is the same #19878
  • Fix – Ensure coupon amount is always returns as a float value #19889
  • Fix – No update available message after activating subscription that has a valid update. #19831
  • Fix – Include scheduled products in CSV export. #19907
  • Fix – Generator tag actions should be filters. #19946
  • Fix – WC API should not try to create a product image when creating a product variation if an empty image is passed. #19971
  • Fix – Force settings API settings to autoload by default. #19998
  • Fix – Cart html5 validation events when using keyboard. #20001
  • Fix – Don’t show stock status fields in external product quick-edit. #20005
  • Fix – Prevent an infinite loop if 2 grouped products are linked. #20020
  • Fix – Switch stock_status when manage stock gets changed to prevent being out of stock if stock quantity is > 0. #20021
  • Fix – When duplicating variation, set the date to null. #20083
  • Fix – Fix rounding of line items for orders to match cart. #20086
  • Fix – Remove hardcoded border in email template. #20090
  • Fix – Prevent autofocus on checkout. #20123
  • Fix – Recalc taxes if address changes in API. #20137
  • Dev – Made wc_query_string_form_fields handle strings. #20162
  • Dev – Added refunded_payment prop to orders for determining if payment was refunded via API. #18196
  • Dev – Added extra params to woocommerce_order_get_downloadable_items. #18408
  • Dev – Store shipping method ID and instance ID in separate fields instead of both in one serialized field. #18483
  • Dev – Add woocommerce_rest_insert_system_status_tool hook that fires after executing a REST system status tool. #18505
  • Dev – Gallery meta box is now powered by CRUD. #18511
  • Dev – Refactor woocommerce_wp_select so it could be used for a multiselect. #18536
  • Dev – Added ability to declare sanitize_callback in settings API. #18554
  • Dev – Added support for additional HTML5 input types for settings/checkout forms. #18594
  • Dev – Made ‘woocommerce_email_downloads_column_’ hook format aware. #18600
  • Dev – Add missing woocommerce_update_options__ actions for settings pages that override save method. #18609
  • Dev – Allow default value for single_select_country and multi_select_countries. #18754 #18756
  • Dev – Added grouped_form class to grouped product form element. #18786
  • Dev – Mini cart item link now respects value of $product_permalink. #18979
  • Dev – Added woocommerce_coupon_get_items_to_validate filter to enable excluding products from coupon validation. #19002
  • Dev – Added woocommerce_persistent_cart_enabled filter. #19027
  • Dev – Added woocommerce_admin_order_item_coupon_url filter. #19777
  • Dev – Replaced calls to exit with wp_die in the ajax methods to enable unit testing of those methods.
  • Dev – Introduce woocommerce_coupon_custom_discounts_array filter to allow post processing on custom coupons. #19148
  • Dev – Move jQuery UI styles into WooCommerce assets folder and load them from there. #19173
  • Dev – Added woocommerce_coupon_validate_expiry_date filter to enable modifying the coupon expiry date check. #19228
  • Dev – Added woocommerce_shipping_calculator_enable_state filter to enable disabling state section in shipping calculator. #19241
  • Dev – Added woocommerce_bacs_process_payment_order_status filter allowing plugins to change the order status to the BACS gateway. #19311
  • Dev – Added woocommerce_coupon_sort filter to allow plugins to override the default coupon apply order. #19339
  • Dev – Added woocommerce_before_output_product_categories and woocommerce_after_output_product_categories filters. #19363
  • Dev – Added general woocommerce_form_field filter to make it easier to filter all of the form fields. #19388
  • Dev – Added woocommerce_install_get_tables filter to enable plugins to register new, WooCommerce-specific tables. $19436
  • Dev – Use get_variation_price method in structured data to grab min/max so filters are ran. #19527
  • Dev – Added woocommerce_helper_suppress_connect_notice filter to enable suppressing the admin WordPress.com connection message. #19599
  • Dev – Moved all photoswipe styles to photoswipe.css to make it easy to dequeue all the photoswipe styles. #19673
  • Dev – Slash meta values before updating values in the data stores. #19675
  • Dev – New wc_selected method to handle array key conversion to int. #19705
  • Performance – Optimized saving of orders. Adds a transient for needs_processing, and only saves changes when saving order items. #18538
  • Performance – Refactored the SQL query for WC_Customer_Download_Data_Store::get_downloads() to fetch available downloads faster. #18559
  • Performance – Split the layered nav counts into multiple transient records by taxonomy and added a filter to allow bypassing caching. #19225
  • Performance – Removed duplicate SET SESSION SQL_BIG_SELECTS=1 queries. #19502
  • Performance – Avoid storing coupon _used_by data to prevent database bloat. #19669
  • Performance – Introduced new wc_get_product_class() and wc_product_class() functions. #19639
  • Performance – Series of tweaks aimed at reducing the number of queries performed #19918
  • Template – Update cart coupon button from input to button type. #19059
  • Template – Added woocommerce-form-register class to registration form. #19486
  • Template – Added escaping to publish date. #19530
  • Template – Added a template file for recent product reviews. #19711
  • Template – Made add to cart templates more consistent between product types. #19666
  • Localization – Switched Georgian Lari symbol to new UTF symbol. #19603
  • Localization – Use ISO county codes for Irish states. #19658
  • Localization – Use ISO county codes for BD states. #19744
  • Localization – LR-Liberia states. #19709
  • Localization – Update ZA tax rate. #19909
  • Localization – Various spelling, grammar fixes, and phrasing improvements.
  • Localization – Fix missing Bahrain country code. #20061

See changelog for all versions.