Si tienes una tienda con WooCommerce y estás en la versión 10.7 o superior, puede que hayas visto un aviso nuevo en el escritorio de WordPress con este texto:
El pedido HPOS ‘sincronizar al leer’ se ha desactivado

Si no sabes qué es eso ni si te afecta, tranqui, vamos a verlo con calma.
¿Y esto de qué va, he roto algo?
Si no tienes claro qué es HPOS te recomiendo que leas primero la guía básica de HPOS y por qué deberías activarlo.
El resumen rápido es que el HPOS hace que los pedidos de WooCommerce se almacenen en tablas propias en vez de usar las tablas wp_posts y wp_postmeta de WordPress, que es donde históricamente se ha metido todo.
Cuando activas HPOS y el modo de compatibilidad a la vez, WooCommerce mantiene los datos de pedidos sincronizados en ambos sitios (las tablas nuevas y las antiguas).
La idea es que si algún plugin o código personalizado todavía tira de las tablas antiguas, nada se rompa, lo cual, ante un sistema nuevo, es una muy buena idea.
Esa sincronización funciona en dos direcciones:
- La primera y más obvia es de HPOS hacia las tablas de entradas: Cada vez que un pedido se crea o se modifica a través de WooCommerce, los datos se copian también a
wp_postsywp_postmeta. Esa dirección sigue funcionando exactamente igual que antes. - La segunda es la que cambia, y es esta ya famosa «sincronización al leer» (
sync on read): Este mecanismo funcionaba al revés. Si algo modificaba los datos del pedido directamente en la tabla de entradas, saltándose WooCommerce por completo (con unwp_update_post, unupdate_post_metao una consulta SQL directa), WooCommerce comparaba las marcas de tiempo de ambos registros al leerlos. Si la copia en la tabla de entradas era más reciente, asumía que alguien había escrito ahí y actualizaba las tablas HPOS para que coincidieran.
¿Es que ha cambiado algo desde WooCommerce 10.7?
Pues sí, desde la versión 10.7 (publicada el 14 de abril de 2026) esa sincronización al leer viene desactivada por defecto.
El motivo es que podía provocar problemas, porque si un dato antiguo en la tabla de entradas tenía una marca de tiempo rara, WooCommerce lo interpretaba como un cambio legítimo y sobreescribía los datos buenos de HPOS. Esto causaba cosas como reversiones de estado de pedido o datos antiguos machacando a los actuales.
Con el sistema de almacenamiento HPOS ya maduro y adoptado por la mayoría de tiendas, el equipo de WooCommerce ha decidido que mantener este mecanismo activo por defecto hace más mal que bien.
La tabla de entradas siempre estuvo pensada como copia de solo lectura, no como fuente de verdad alternativa.
¿A quién le afecta esto?
Aparte de a mi, que por eso te estoy escribiendo y compartiendo lo que me ha tocado aprender, en realidad a muy pocos.
Si en tu tienda usas solo plugins compatibles con HPOS (que a estas alturas son la gran mayoría) este cambio no te afecta en nada. La sincronización normal de HPOS hacia las tablas antiguas sigue funcionando.
Te afecta si cumples estas dos condiciones a la vez:
- Tienes HPOS activo con el modo de compatibilidad habilitado.
- Además usas código personalizado o algún plugin que escribe datos de pedido directamente en las tablas
wp_postsowp_postmeta(con funciones comowp_update_post(),update_post_meta()o consultas SQL directas) esperando que esos cambios se reflejen automáticamente en HPOS.
Si no tienes claro si te afecta, hazte estas preguntas:
- ¿Tienes funciones personalizadas en tu
functions.phpo en mu-plugins que modifiquen datos de pedidos conupdate_post_meta()? - ¿Usas algún plugin de gestión de pedidos que no se haya actualizado en mucho tiempo?
- ¿Has escrito consultas SQL directas que toquen la tabla
wp_postmetapara campos de pedidos?
Si la respuesta a todo es «NO» puedes descartar el aviso y seguir con tu vida.
¿Y qué hago si me afecta?
Lo primero y más importante es actualizar tu código para que use la capa CRUD de WooCommerce en vez de escribir directamente en las tablas de entradas. Esto ya se recomienda desde WooCommerce 3.0 (que salió en 2017), así que si todavía no lo has hecho va siendo hora.
En la práctica eso significa sustituir cosas como:
// Lo que ya no deberías usar update_post_meta( $order_id, '_billing_email', '[email protected]' );
Por el equivalente con los objetos de WooCommerce:
// Lo correcto $order = wc_get_order( $order_id ); $order->set_billing_email( '[email protected]' ); $order->save();
Si necesitas tiempo para hacer esos cambios puedes reactivar temporalmente la sincronización al leer con este filtro:
// Reactivar sincronización al leer (solución temporal) add_filter( 'woocommerce_hpos_enable_sync_on_read', '__return_true' );
Pero ojo, esto es un parche temporal. El equipo de WooCommerce ha avisado de que la sincronización al leer podría eliminarse por completo en una versión futura, así que no te acostumbres.
Pues sí, debes activar HPOS sin compatibilidad en cuando puedas
Si tu tienda lleva un tiempo con HPOS activo, todos tus plugins son compatibles y todo funciona bien, lo mejor que puedes hacer es desactivar el modo de compatibilidad directamente.
Ve a WooCommerce > Ajustes > Avanzado > Características y desactívalo. Así WooCommerce deja de duplicar datos en las tablas antiguas y te ahorras el peso de esa sincronización en cada operación con pedidos.
Eso sí, antes de hacerlo asegúrate de tener una copia de seguridad y de haber comprobado que nada depende de las tablas clásicas.
Si te surge algún problema siempre puedes volver a activar el modo de compatibilidad, esperar a que se sincronice todo y cambiar de vuelta. Aquí tienes la guía de dudas habituales sobre HPOS donde explico el proceso con más detalle.
¿Y las mejoras de rendimiento de WooCommerce?
Además de este cambio en la sincronización, la versión de WooCommerce 10.7 incorporó mejoras de rendimiento bastante interesantes para tiendas con HPOS activo.
La más llamativa es que las consultas de la API REST para pedidos han bajado de 271 a 132 por petición, un 51% menos, gracias a un sistema de precarga de caché que elimina las consultas N+1 durante la serialización.
El pago también reduce un 15% las consultas SQL totales. Si tienes HPOS activado y tu tienda mueve volumen, esta actualización se nota.
Lo que tienes que hacer ahora
Hay varias posibilidades, que te resumo:
- Si ves el aviso en tu escritorio y todo funciona bien, simplemente descártalo.
- Si tienes dudas sobre si tu código personalizado escribe directamente en las tablas de entradas, revísalo.
- Si llevas tiempo con HPOS sin problemas plantéate desactivar el modo de compatibilidad para sacarle todo el jugo al rendimiento.
Para cualquier duda sobre compatibilidad de plugins con HPOS echa un vistazo a este artículo donde explico cómo declarar la compatibilidad o me preguntas en la sección de comentarios, que para eso está.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!






