WooCommerce 10.5: novedades clave para desarrolladores (rendimiento, API y checkout)
WooCommerce 10.5 está a la vuelta de la esquina y, si mantienes extensiones, integraciones o tiendas con catálogo grande, hay varios cambios que conviene tener en el radar desde ya. Esta versión pone el foco en rendimiento y fiabilidad (especialmente en Analytics y en cachés), pero también trae ajustes de interfaz en el Checkout block y varias advertencias de compatibilidad para desarrolladores.
A nivel de calendario, el equipo marcó el Feature Freeze el 12 de enero de 2026 y desde ahí han ido publicando betas para pruebas. La publicación final está programada para el 4 de febrero de 2026 (más abajo dejo el timeline completo tal y como se ha comunicado).
Calendario de lanzamiento (Release Schedule) y cómo probar la beta
WooCommerce 10.5 ya cuenta con betas disponibles para testing. Si necesitas validar compatibilidad de tu plugin/tema con antelación, la vía recomendada es el plugin oficial WooCommerce Beta Tester, que permite instalar versiones beta de WooCommerce en un entorno de pruebas.
- ✅ Feature Freeze – Added: January 12, 2026
- ✅ WooCommerce 10.5 Beta 1 – Released: January 19, 2026 (para probar: WooCommerce Beta Tester plugin)
- ✅ WooCommerce 10.5 Beta 2 – Released: January 26, 2026 (para probar: WooCommerce Beta Tester plugin)
- ⏳ WooCommerce Release 10.5 – Scheduled: February 4, 2026
Qué llega en WooCommerce 10.5 (cambios funcionales que notarás en producción)
1) Importación a tablas de Analytics: adiós a los backlogs masivos de ActionScheduler
El cambio más importante de 10.5 (y el que más impacto puede tener en tiendas con volumen) es una mejora de base en cómo WooCommerce importa los datos de pedidos hacia las tablas de Analytics.
Hasta ahora, WooCommerce disparaba un trabajo de importación de analytics por cada evento de pedido usando ActionScheduler (la cola/asignador de tareas asíncronas que WooCommerce utiliza internamente). Aunque era asíncrono, en tiendas con mucho movimiento eso generaba colas enormes (se habla de 10.000+ acciones), con consecuencias muy reales: degradación de rendimiento, contención en la base de datos y ralentizaciones generales del sitio.
Con WooCommerce 10.5, el comportamiento por defecto pasa a ser Scheduled Imports (importaciones programadas). En lugar de lanzar una acción por evento, se refrescan los datos de analytics en lotes:
- Se ejecuta cada 12 horas (por defecto).
- Procesa 100 pedidos por lote (por defecto).
- Ambos valores son configurables mediante nuevos filtros:
woocommerce_analytics_import_intervalywoocommerce_analytics_regenerate_batch_size. - Reduce de forma drástica el número de acciones programadas y la carga sobre la base de datos.
- Aporta más visibilidad del estado al propietario de la tienda y permite lanzar importaciones manualmente cuando sea necesario.
Referencia: PR #61603.
2) Checkout block: UI de envío mejorada en escenarios con múltiples paquetes (suscripciones) + fix de sincronización
El Checkout block recibe una mejora visual en las opciones de envío: ahora se muestran miniaturas de producto y contenedores con borde cuando existen múltiples paquetes, algo especialmente relevante en productos de suscripción.
Además, se corrige un bug: los métodos de envío no se sincronizaban correctamente al alternar entre opciones de entrega Ship (envío) y Pickup (recogida).
Referencia: PR #61625.
3) Pedidos con datos de impuestos legacy/corruptos: más robustez y un filtro para conversiones a medida
Otro punto interesante para soporte en tiendas antiguas: se mejora la fiabilidad al visualizar pedidos con datos de impuestos legacy o corruptos, donde los valores de impuestos se habían guardado como floats/strings en vez de arrays.
La corrección añade un manejo backwards-compatible a través de todos los tipos de líneas del pedido:
- Productos
- Envío
- Fees (cargos)
Además, el sistema ahora infiere de forma más inteligente los tax rate IDs (IDs de tipo de impuesto) desde el contexto del pedido, y se incorpora un filtro nuevo para que puedas inyectar tu propia lógica de conversión: woocommerce_order_item_legacy_tax_conversion.
Referencia: PR #62271.
4) Estilos de Select2: ahora van acotados para no “contaminar” interfaces de otros plugins
WooCommerce carga estilos para Select2 (el componente de selects enriquecidos, muy común en WordPress). En 10.5, esos estilos se encapsulan usando :where(.woocommerce) para evitar que se filtren y afecten a pantallas de otros plugins.
Detalle importante: :where() mantiene especificidad cero, así que los overrides CSS existentes deberían seguir funcionando como hasta ahora, pero con el beneficio de que WooCommerce no impacta en UIs ajenas.
Referencia: PR #61956.
5) Nuevo filtro woocommerce_shipping_tax_class: impuestos de envío calculados dinámicamente
Se introduce el filtro woocommerce_shipping_tax_class, orientado a calcular dinámicamente el impuesto del envío en función de:
- Contenido del carrito
- Datos del cliente
- Ubicación
Esto abre la puerta a lógicas personalizadas como aplicar al envío el tipo impositivo predominante del carrito, algo útil en escenarios fiscales complejos (en el anuncio se menciona específicamente un caso como Países Bajos).
Referencia: PR #59512.
Cambios de API y avisos para desarrolladores (API Changes and Advisories)
Además de los cambios anteriores, WooCommerce 10.5 agrupa varios ajustes que ya se han detallado en posts específicos del blog de desarrolladores. Aquí tienes el resumen de los puntos más relevantes y sus enlaces para profundizar.
WC REST API: decodificación correcta de caracteres especiales en atributos de variaciones
La WC REST API ahora gestiona correctamente la decodificación de caracteres especiales en los atributos de variaciones de producto. Si tienes integraciones que crean/actualizan variaciones o sincronizan catálogos multilingües, este tipo de ajuste suele ser importante para evitar discrepancias entre lo que envías y lo que se persiste.
Post con el detalle: https://developer.woocommerce.com/2026/01/14/wc-rest-api-fixes-for-product-variation-attributes-with-special-characters-in-woocommerce-10-5/
Se elimina el trait AccessiblePrivateMethods
En 10.5 se elimina el trait AccessiblePrivateMethods. Estaba dentro del namespace Internal como señal explícita de que no debía consumirse públicamente. Aun así, algunas extensiones lo estaban usando incorrectamente, y este cambio puede romper compatibilidad en esos casos.
Post con el detalle: https://developer.woocommerce.com/2026/01/15/removal-of-the-accessibleprivatemethods-trait-in-woocommerce-10-5/
Permalinks de producto basados en categorías: se prioriza la categoría más profunda
Se actualiza el comportamiento de los permalinks de producto basados en categorías: ahora se prioriza la categoría más profunda para mejorar SEO y consistencia de URLs. Ojo: el cambio afecta solo a estructuras de enlaces permanentes específicas (las basadas en categorías).
Post con el detalle: https://developer.woocommerce.com/2026/01/13/product-permalink-changes-coming-in-woocommerce-10-5/
En productos variables, el botón Add to Cart queda deshabilitado hasta que cargue el script de variaciones
WooCommerce asegura que en páginas de productos variables el botón Add to Cart se mantenga deshabilitado hasta que el script de variaciones haya cargado completamente. El problema anterior era típico en conexiones lentas: el usuario podía pulsar “Add to Cart” antes de que se inicializara la lógica de selección de variación, provocando envíos fallidos.
Post con el detalle: https://developer.woocommerce.com/2026/01/16/add-to-cart-button-disabled-by-default-in-variable-products-in-woocommerce-10-5/
Mejoras de rendimiento (Performance Improvements)
Caché REST API experimental (aplicable a cualquier endpoint)
WooCommerce 10.5 introduce una caché experimental para la REST API que, según lo anunciado, se puede aplicar a cualquier endpoint de la WC REST API. En el anuncio indican que darán más información antes del lanzamiento, incluyendo cómo probarla.
Mejoras en caché de precios de variaciones + nueva utility class para callbacks
También hay mejoras en el caché de variation prices (precios de variaciones) y se incorpora una nueva utility class para trabajar con callbacks (funciones de devolución de llamada), lo que sugiere un esfuerzo por estandarizar y hacer más seguras/eficientes ciertas ejecuciones diferidas.
Post con el detalle: https://developer.woocommerce.com/2026/01/08/variation-prices-caching-improvements-in-woocommerce-10-5/
Product Object Caching experimental: evita cargas duplicadas de productos en la misma request
En 10.5 aparece una funcionalidad experimental llamada Product Object Caching, que busca mejorar rendimiento cacheando instancias de producto durante cada request. La idea es sencilla: evitar cargas duplicadas de un mismo producto desde base de datos a lo largo de una petición.
PR: https://github.com/woocommerce/woocommerce/pull/62041
Post con el detalle: https://developer.woocommerce.com/2026/01/19/experimental-product-object-caching-in-woocommerce-10-5/
Product Filters: corrección de problemas de rendimiento por caché mal establecida/cargada + limpieza de transients
Se corrigen problemas de rendimiento relacionados con la caché de datos de Product Filters que no se estaba estableciendo y cargando correctamente. El síntoma típico: la base de datos podía inundarse con datos de caché de filtros, afectando especialmente a tiendas con catálogos grandes.
Además, se actualiza la herramienta de limpieza de WooCommerce transients para que, cuando se ejecute, limpie también la caché de datos de filtros. Aun así, el aviso es claro: si un cliente usa el bloque de Product Filters y sigue teniendo problemas de rendimiento, esta puede ser la causa, y la solución pasa por limpiar los transients de WooCommerce.
Referencia: PR #62575.
Changelog completo
Si necesitas revisar el detalle a nivel de commit/entrada, el changelog completo está en el readme.txt de la rama de la beta: https://github.com/woocommerce/woocommerce/blob/10.5.0-beta.1/plugins/woocommerce/readme.txt
Notas prácticas para preparar extensiones y tiendas
- Si tu tienda o cliente ha sufrido backlogs de ActionScheduler, valida especialmente el cambio de Scheduled Imports en Analytics y revisa si tenías lógica alrededor de importaciones por evento.
- Si mantienes CSS/admin screens, revisa cualquier dependencia indirecta en estilos de Select2 de WooCommerce: ahora están scoped con
:where(.woocommerce). - Si haces integraciones con variaciones vía REST API, prueba casos con atributos que incluyan caracteres especiales (acentos, símbolos, etc.).
- Si tu extensión tocaba clases/traits bajo
Internal, revisa de inmediato por la eliminación deAccessiblePrivateMethods. - Si trabajas con fiscalidad avanzada, evalúa el nuevo filtro
woocommerce_shipping_tax_classpara centralizar la lógica del impuesto de envío. - Si un cliente usa Product Filters en catálogos grandes, monitoriza la BD y considera la limpieza de transients si aparece degradación de rendimiento.
Referencias / Fuentes
- WooCommerce 10.5: What's coming for developers Release Posts
- WC REST API fixes for product variation attributes with special characters in WooCommerce 10.5
- Removal of the AccessiblePrivateMethods trait in WooCommerce 10.5
- Product permalink changes coming in WooCommerce 10.5
- Add to cart button disabled by default in variable products in WooCommerce 10.5
- Variation prices caching improvements in WooCommerce 10.5
- Experimental Product Object Caching in WooCommerce 10.5
- woocommerce/woocommerce PR #61603
- woocommerce/woocommerce PR #61625
- woocommerce/woocommerce PR #62271
- woocommerce/woocommerce PR #61956
- woocommerce/woocommerce PR #62040
- woocommerce/woocommerce PR #62575
- WooCommerce 10.5.0-beta.1 readme.txt changelog
Carlos Rodríguez
Desarrollador de aplicaciones móviles, fan de React Native y Flutter. Soluciones multiplataforma y rendimiento nativo es mi lema. En mi tiempo libre trabajo en proyectos de startups.
Todas las publicacionesMás de Carlos Rodríguez
WordPress Studio 1.7.0 estrena Studio CLI v2: sitios locales, previsualizaciones y WP-CLI desde tu terminal
WP Media Cleanup: cómo eliminar variaciones de imágenes no usadas en WordPress y recuperar espacio
HelloBlog.io arranca en beta: un blog tech multilingüe, sin anuncios y con foco en WordPress y el open source