Cómo eliminar todos los pedidos y datos de clientes de WooCommerce en el sitio de staging

Si quieres eliminar todos los pedidos de WooCommerce y sus datos de tu sitio de staging antes de entregárselo a tu desarrollador, puedes seguir uno de estos dos enfoques:

Ejecutar un script SQL en el sitio de staging

Ejecutar este script SQL en el sitio de staging eliminará los pedidos de WooCommerce y sus metadatos también

SQL
DELETE wpstg0_posts, wpstg0_postmeta, wpstg0_woocommerce_order_items, wpstg0_woocommerce_order_itemmeta
 FROM wpstg0_posts
 LEFT JOIN wpstg0_postmeta ON wpstg0_posts.ID = wpstg0_postmeta.post_id
 LEFT JOIN wpstg0_woocommerce_order_itemmeta ON wpstg0_postmeta.post_id = wpstg0_woocommerce_order_itemmeta.order_item_id
 LEFT JOIN wpstg0_woocommerce_order_items ON wpstg0_posts.ID = wpstg0_woocommerce_order_items.order_item_id
 WHERE wpstg0_posts.post_type = "shop_order"
 AND wpstg0_posts.post_date < '2022-07-14';

Debes cambiar wpstg0_ al prefijo de tabla correcto de tu sitio de staging y cambiar 2022-07-14 a la fecha del día actual antes del que quieras eliminar los pedidos.

También puedes envolver este comando SQL en una función y ejecutarlo inmediatamente tras clonar el sitio de staging usando el filter «wpstg.clone_first_run«.

PHP
 add_action( 'wpstg.clone_first_run', array($this, 'wpstg_execute_after_cloning' ), 10);
 function wpstg_execute_after_cloning() {
 // add your code
 }

Puedes usar ese filter en el Plugin WP STAGING Hooks o como mu-plugin estándar siguiendo esta guía.

Exclude WooCommerce Orders and their Metadata When Creating the Staging Site

También puedes excluir los pedidos de WooCommerce y sus metadatos al comienzo del proceso de clonado.
Para eso, puedes usar este filter:

PHP
function queryCloningRows($filters) {
 $myFilters = [
 // Clone only posts which do not belong to post_type shop_order
 'wp_posts' => [
 'post_type' => [
 'operator' => 'NOT LIKE',
 'value' => 'shop_order'
 ]
 ],
 // will filter postmeta depending upon filtered data in wp_posts, see above wp_posts filter
 'wp_postmeta' => [
 'join' => [
 'table' => 'wp_posts',
 'primaryKey' => 'ID',
 'foreignKey' => 'post_id',
 ]
 ],
 'wp_woocommerce_order_items' => [
 'join' => [
 'table' => 'wp_posts',
 'primaryKey' => 'ID',
 'foreignKey' => 'post_id',
 ]
 ],
 'wp_woocommerce_order_itemmeta' => [
 'join' => [
 'table' => 'wp_posts',
 'primaryKey' => 'ID',
 'foreignKey' => 'post_id',
 ]
 ]
 ];
 return array_merge($filters, $myFilters);
 }
 add_filter('wpstg.cloning.database.queryRows', 'queryCloningRows');

Este filter se puede usar en el Plugin WP STAGING Hooks o como mu-plugin estándar siguiendo esta guía.

NOTA: Seguir los enfoques anteriores eliminará todos los pedidos y sus datos relacionados del sitio de staging. Eso significa que no puedes publicar el sitio de staging al sitio en vivo porque esto también eliminaría los pedidos de WooCommerce de tu sitio en vivo. Por tanto, solo debe usarse con fines de prueba y desarrollo (si estás dispuesto a copiar las modificaciones manualmente al sitio en vivo cuando tu desarrollador haya terminado).

Related Articles

Updated on mayo 22, 2026

Alaa Salama

Autor: Alaa Salama

Llevo más de una década trabajando en soporte porque realmente disfruto el lado humano de la tecnología. Ya sea resolviendo un problema complejo de WordPress o desarrollando plugins personalizados y fragmentos de código para simplificar flujos de trabajo, mi objetivo siempre es reducir la fricción y ayudar a las personas a trabajar de forma más inteligente. Para mí, no hay nada más gratificante que ver cómo una solución que he creado mejora el día de otra persona.

Cuando estoy desconectado, normalmente sigo estando “bajo el capó” de algo. Me apasionan la optimización de servidores y la electrónica DIY, y suelo dedicar mi tiempo libre a proyectos de hogar inteligente y reparaciones de hardware. Valoro especialmente el tiempo que paso en mi taller de casa con mis hijos. Juntos nos ocupamos de todo, desde arreglos domésticos hasta proyectos creativos, fomentando el gusto por construir cosas que perduren.