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
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 ».
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 :
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é).