Recientemente WooCommerce introdujo «High-Performance Order Storage» [HPOS] para los pedidos de WooCommerce como función beta, que puedes activar para guardar los datos de pedidos de WooCommerce en tablas de base de datos separadas con los siguientes nombres:
- _wc_orders
- _wc_orders_meta
- _wc_order_addresses
- _wc_order_operational_data
- _wc_order_coupon_lookup
- _wc_order_product_lookup
- _wc_order_stats
- _wc_order_tax_lookup
- wp_woocommerce_order_items
- wp_woocommerce_order_itemmeta
Esta guía explica cómo puedes aprovechar esta función para evitar que los pedidos del sitio de Staging reemplacen a los pedidos del sitio en producción cada vez que publicas el sitio de Staging en producción. Para ello, sigue estos pasos:
Contents
Activa HPOS tanto en el sitio en producción como en el de Staging:
Nota: HPOS está en desarrollo activo y aún en progreso. Puedes encontrar instrucciones más detalladas en el artículo oficial de WooCommerce sobre HPOS.
Ve a (WooCommerce > Ajustes > Avanzado > Características) y selecciona la casilla «High-performance order storage» como en esta captura de pantalla, tanto en el sitio de Staging como en el sitio en producción, y asegúrate de que «Activar modo de compatibilidad» también esté marcado.

Tras este paso, WooCommerce comenzará a sincronizar los pedidos desde la tabla _posts habitual a la nueva tabla _wc_orders; es posible que tengas que esperar unos minutos hasta que se complete la sincronización.
De nuevo, es imprescindible realizar estos pasos tanto en el sitio en producción como en el de Staging.
Excluir las tablas de pedidos de WooCommerce durante el proceso de publicación
Cuando vayas a publicar el sitio de Staging en el sitio en producción, puedes excluir estas tablas:

Y los pedidos de WooCommerce de tu sitio en producción permanecerán igual después de la publicación y no serán reemplazados por los del sitio de Staging.
Prevenir pagos duplicados: excluir las tablas de ActionScheduler
Al publicar o migrar un sitio WooCommerce que utiliza WooCommerce Subscriptions u otras tareas programadas, existe el riesgo de desencadenar acciones duplicadas (como pagos recurrentes) en el sitio de destino.
Para evitar que estas acciones se ejecuten dos veces, debes excluir las tablas de ActionScheduler del proceso de migración/publicación:
{prefix}_actionscheduler_actions{prefix}_actionscheduler_logs{prefix}_actionscheduler_claims{prefix}_actionscheduler_groups
Nota: Sustituye {prefix}_ por el prefijo de base de datos específico de tu sitio de Staging.
Como en esta captura de pantalla:

Artículos relacionados
- Implementación inicial de tablas personalizadas de WooCommerce lista para probar HPOS
- Omitir pedidos y productos de WooCommerce
- Cómo eliminar todos los pedidos de WooCommerce y datos de clientes en el sitio de Staging | Eliminar transacciones de WooCommerce
- Dos formas sencillas de hacer Backup de tu base de datos WooCommerce en WP