Lee en su lugar estos dos artículos:
– Cómo transferir productos y clientes de WooCommerce del sitio en producción al sitio de staging
– Cómo excluir los pedidos de WooCommerce de ser copiados al sitio en producción con HPOS
Cómo evitar que los pedidos y productos de WooCommerce sean sobrescritos durante la publicación
Siempre que uses WP STAGING para publicar datos del sitio de staging al sitio en producción, debes asegurarte de que los pedidos, clientes y productos de WooCommerce en el sitio en producción no se vean afectados en absoluto y permanezcan intactos.
Contents
Entonces, ¿cuál es la mejor forma de evitar que esos datos sean sobrescritos durante el proceso de publicación?
La respuesta corta es: no puedes descartar que estos datos se copien a tu sitio de staging, y no puedes fusionar automáticamente los pedidos y productos de WooCommerce del sitio en producción y del sitio de staging. Pero afortunadamente, hay una forma de no perder los pedidos y productos en el sitio de producción, aunque requiere trabajo manual.
Peor aún, algunos Plugins afirman poder realizar dicha fusión, solo para descubrir después que los pedidos y productos han sido sobrescritos sin ningún aviso. Esto puede destruir la integridad de los datos y ni siquiera te darás cuenta si no compruebas cada pedido y producto después de dicha fusión.
Primero, debemos entender dónde almacenan WooCommerce y WordPress los pedidos, productos, datos de usuario como las direcciones de los clientes, y todos los demás datos como entradas y páginas:
- Los pedidos y productos se almacenan en las tablas
wp_postsywp_postmeta, diferenciados por un campo de tipo de entrada personalizado llamado ‘orders’. - El propio WordPress también almacena la mayoría de sus datos como páginas, entradas e incluso entradas de menú y todo lo demás en las mismas tablas
wp_postsywp_postmeta - Los usuarios se almacenan en
wp_usersywp_usermeta
Muchas otras tablas personalizadas de WooCommerce contienen datos como tasas de impuestos, elementos de pedidos y ajustes generales de WooCommerce.
El nombre de cada tabla del sitio de staging comienza con el prefijo wpstg(x)_
Los nombres de las tablas de WooCommerce comienzan con el mismo prefijo de tabla, pero también empiezan con _woocommerce como wpstg(x)_woocommerce_
La x en el prefijo de tabla es el número de tu sitio de staging. Si tienes varios sitios de staging, ese número se incrementa como wpstg1_, wpstg2_ y así sucesivamente.
Si quieres migrar datos específicos de tu sitio de staging al sitio de producción sin afectar a ninguno de los datos transaccionales, tienes tres opciones:
Opción 1) Exporta los pedidos, datos de usuario y otros datos transaccionales del sitio en producción e impórtalos al sitio de staging antes de migrar el sitio de staging a producción.
Esto te permite copiar el sitio de staging completo.
Esta es la forma recomendada si no tienes conocimientos sobre la estructura interna de la base de datos. A continuación explicamos cómo hacerlo.
Opción 2) Excluye todas las tablas de base de datos excepto la tabla _options y selecciona solo las carpetas de Plugins y Themes que quieras publicar en el sitio de staging. Siguiendo esta vía garantizas que nunca sobrescribirás ni perderás datos en el sitio de producción generados después de crear el sitio de staging. La mayoría de los Plugins también almacenan sus ajustes en la tabla _options, por lo que esto también migrará los ajustes del plugin al sitio en producción.
Importante: Cualquier otro dato que no esté incluido en las tablas _posts y _postmeta tendrá que ser creado de nuevo manualmente en el sitio en producción después de publicar.
Opción 3) Excluye todas las tablas de base de datos modificadas del proceso de publicación. Si sigues esta vía, ¡no migrarás el sitio de staging completo, incluidos sus datos!
Dependiendo de las tablas excluidas (p. ej., _posts, _postmeta), esto puede provocar imágenes ausentes e incluso elementos de diseño en tu sitio de producción. Esto ocurre principalmente si usas un editor visual como WPBakery (antes conocido como Visual Composer) o Elementor, ya que estos editores almacenan sus diseños en las tablas _posts y _postmeta.
Nota: La opción 1 es la forma recomendada.
Exportar e importar pedidos de WooCommerce (opción recomendada)
La mejor opción es exportar los datos de pedidos y productos usando un plugin de exportación/importación separado en el sitio de producción e importar los datos de vuelta al sitio de staging antes de realizar la publicación.
Antes de exportar e importar pedidos de tu sitio en producción, se recomienda encarecidamente crear otro sitio de staging para probar todo el proceso antes de realizar la importación y exportación en el sitio de staging principal.
Guía rápida:
- Pon tu sitio web en modo mantenimiento.
- Instala el plugin «WooCommerce Sequential Order Numbers» en los sitios de producción y staging.
- Instala el plugin «Order Export & Order Import for WooCommerce» en los sitios de producción y staging.
- Exporta los pedidos de WooCommerce desde el sitio de producción.
- Elimina todos los pedidos del sitio de staging.
- Importa los pedidos al sitio de staging.
- Publica el sitio de staging en el sitio de producción.
Guía paso a paso
Antes de continuar, necesitarás instalar dos Plugins de terceros:
Necesitarás instalar el plugin «WooCommerce Sequential Order Numbers» para asegurarte de que los números de pedido no cambien durante una importación.
Exportar e importar pedidos podría cambiar el ID de pedido de los pedidos importados, ya que el ID de pedido de WooCommerce se basa en el ID de entrada de WordPress, un número único en WordPress. Por lo tanto, si el ID de entrada en tu sitio de staging ya está siendo usado por una entrada u otro elemento, el pedido importado recibiría un nuevo ID. Esto podría resultar en un nuevo ID de pedido para el pedido importado.
Para mantener intacto el ID de pedido tal como está, necesitarás usar el plugin «WooCommerce Sequential Order Numbers».
Este plugin añade una nueva entrada en la base de datos para almacenar el ID de pedido en un campo separado, lo que permite que tu sitio mantenga el ID de pedido separado e independiente del ID de entrada.
- Inicia sesión en tu sitio de producción
- Ve a WebToffee Import Export > Exportar
- Selecciona «Pedido» como en esta captura de pantalla:

Luego elige «Rápido» en el siguiente paso y haz clic en «Exportar». Esto generará un archivo CSV que puedes guardar en tu ordenador.
- Ve a tu sitio de staging > WooCommerce > Pedidos.
- Selecciona todos los pedidos y muévelos a la papelera. (Esto es importante, ya que los importarás todos de nuevo en el siguiente paso, desde el archivo que has exportado del sitio en producción).

- Ve a tu sitio de staging.
- Abre WebToffee Import Export > Importar

- Luego elige «Rápido», sube el archivo .csv que exportaste antes y haz clic en «Importar», como se muestra en esta captura de pantalla:

Tras este paso, todos los pedidos deberían haberse importado al sitio de staging, y tu sitio de staging estará listo para publicarse en el sitio en producción siguiendo esta guía.
IMPORTANTE: A veces, al importar pedidos al sitio de staging, puede producirse un conflicto entre los IDs de pedido y los IDs de entradas/páginas/archivos adjuntos. Esto ocurre porque has añadido nuevas entradas/páginas u otro contenido en el sitio de staging.
Si ocurriera eso, verías algo como esto en la captura de pantalla durante el proceso de importación:

En ese caso, debes editar el archivo .csv exportado con Excel o LibreOffice Calc. Cabe destacar que LibreOffice Calc maneja mejor estos archivos, pero asegúrate de seleccionar la codificación UTF-8 al abrirlo y guardarlo. Una vez abierto el archivo, puedes modificar los IDs de pedido conflictivos a cualquier número superior que no esté ya en uso por los IDs de entrada de tu sitio WordPress, o borrar sus valores, y recibirán nuevos durante la importación:

Luego vuelve a importar el archivo y todos los pedidos deberían importarse correctamente.
Consejo: puede que necesites hacer lo mismo con los productos o usuarios de WooCommerce. Para ello, te recomendamos usar estos Plugins:
- Product Import Export for WooCommerce. (La versión gratuita no admite la exportación/importación de productos variables)
- Import Export WordPress Users.
Omitir y excluir datos de WooCommerce de la publicación (no recomendado)
Otra opción para evitar que los pedidos sean sobrescritos es omitir todas las tablas que contienen pedidos y productos de WooCommerce durante la publicación. Como mínimo, deberías excluir las tablas siguientes antes de publicar el sitio de staging en el sitio de producción:
wpstg1_postswpstg1_postmetawpstg1_userswpstg1_usermeta
Todas las tablas que empiezan con:wpstg1_woocommerce_


Desafortunadamente, esta selección de tablas excluiría las entradas, artículos y cualquier otro dato almacenado en las tablas _posts y _postmeta de tu sitio WordPress. Por ejemplo, páginas, entradas, entradas de menú y otros datos relacionados con entradas quedarían excluidos y no se copiarían al sitio de producción.
Por lo tanto, sigue este paso solo cuando no hayas cambiado ningún dato en el sitio de staging que necesites migrar al sitio de producción.
Ver también: Referencia de tablas de la base de datos de WooCommerce.
Palabras clave: WooCommerce, Excluir pedidos WooCommerce, Excluir productos WooCommerce
Artículos relacionados
- Cómo migrar productos y clientes de WooCommerce del sitio en producción al sitio de staging
- Cómo excluir los pedidos de WooCommerce de ser copiados al sitio en producción con HPOS
- Implementación inicial de tablas personalizadas de WooCommerce lista para pruebas HPOS
- Cómo eliminar todos los pedidos y datos de clientes de WooCommerce en el sitio de staging
- Cómo exportar e importar usuarios de WordPress
- Aumentar el tamaño máximo de paquete permitido en la base de datos