Comment supprimer toutes les commandes WooCommerce et les données clients sur le site de staging | Supprimer les transactions WooCommerce

Si tu veux supprimer toutes les commandes WooCommerce et leurs données de ton site de staging avant de le confier à ton développeur, tu peux suivre l’une de ces deux approches :

Exécuter un script SQL sur le site de staging

L’exécution de ce script SQL sur le site de staging supprimera les commandes WooCommerce et leurs métadonnées

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';

Tu dois remplacer wpstg0_ par le préfixe de table correct du site de staging et remplacer 2022-07-14 par la date actuelle avant laquelle tu veux supprimer les commandes. Tu peux également encapsuler cette commande SQL dans une fonction et l’exécuter immédiatement après le clonage du site de staging en utilisant le filtre « 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
 }

Tu peux également envelopper cette commande SQL dans une fonction et l’exécuter immédiatement après le clonage du site de staging en utilisant le filtre « wpstg.clone_first_run ».

Tu peux utiliser ce filtre dans le plugin WP STAGING Hooks ou en tant que mu-plugin standard en suivant ce guide.

Exclure les commandes WooCommerce et leurs métadonnées lors de la création du site de staging

Tu peux également exclure les commandes WooCommerce et leurs métadonnées dès le début du processus de clonage.
Pour ce faire, utilise ce filtre :

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');

Ce filtre peut être utilisé dans le plugin WP STAGING Hooks ou en tant que mu-plugin standard en suivant ce guide.

NOTE : Les approches ci-dessus supprimeront toutes les commandes et leurs données pertinentes du site de staging. Cela signifie que tu ne peux pas pousser le site de staging vers le site en production, car cela supprimerait également les commandes WooCommerce de ton site en production. Ces approches doivent donc être utilisées uniquement à des fins de test et de développement (si tu es prêt à copier les modifications manuellement vers le site en production une fois que ton développeur a terminé).

Articles connexes

Updated on mai 23, 2026

Alaa Salama

Auteur : Alaa Salama

Je travaille dans le support depuis plus de dix ans, car j’apprécie vraiment le côté humain de la technologie. Qu’il s’agisse de résoudre un problème WordPress complexe ou de développer des plugins personnalisés et des extraits de code pour simplifier les flux de travail, mon objectif est toujours de réduire les frictions et d’aider les personnes à travailler plus intelligemment. Pour moi, il n’y a rien de plus gratifiant que de voir une solution que j’ai créée améliorer la journée de quelqu’un.

Lorsque je suis hors ligne, je suis généralement encore “sous le capot” de quelque chose. Je suis passionné par l’optimisation des serveurs et l’électronique DIY, et je consacre souvent mon temps libre à des projets de maison connectée et à des réparations matérielles. J’accorde une valeur particulière au temps passé dans mon atelier à la maison avec mes enfants. Ensemble, nous nous attaquons à tout, des réparations domestiques aux projets créatifs, en cultivant le plaisir de construire des choses faites pour durer.