Jak usunąć wszystkie zamówienia WooCommerce i dane klientów na witrynie staging | Usuń transakcje WooCommerce

Jeśli chcesz usunąć wszystkie zamówienia WooCommerce i ich dane z witryny staging przed przekazaniem jej deweloperowi, możesz zastosować jedno z dwóch podejść:

Uruchom skrypt SQL na witrynie staging

Uruchomienie tego skryptu SQL na witrynie staging usunie zamówienia WooCommerce oraz ich metadane

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

Musisz zmienić wpstg0_ na poprawny prefiks tabel witryny staging, a 2022-07-14 na bieżącą datę, przed którą chcesz usunąć zamówienia.

Możesz też opakować to polecenie SQL w funkcję i uruchomić ją natychmiast po sklonowaniu witryny staging przy użyciu filtra „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
 }

Możesz użyć tego filtra w pluginu WP STAGING Hooks lub jako standardowy mu-plugin zgodnie z tym przewodnikiem.

Wyklucz zamówienia WooCommerce i ich metadane przy tworzeniu witryny staging

Możesz też wykluczyć zamówienia WooCommerce i ich metadane na początku procesu klonowania.
Aby to zrobić, użyj tego filtra:

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

Ten filtr można użyć w pluginu WP STAGING Hooks lub jako standardowy mu-plugin zgodnie z tym przewodnikiem.

UWAGA: Stosowanie powyższych podejść usunie wszystkie zamówienia i ich dane z witryny staging. To oznacza, że nie możesz wykonać push witryny staging na żywą, ponieważ usunęłoby to także zamówienia WooCommerce z żywej witryny. Dlatego należy tego używać tylko do celów testowych i deweloperskich (jeśli jesteś gotowy ręcznie skopiować modyfikacje na żywą witrynę po zakończeniu pracy dewelopera).

Powiązane artykuły

Updated on 23 maja, 2026

Alaa Salama

Autor: Alaa Salama

Od ponad dekady pracuję w obszarze wsparcia technicznego, ponieważ naprawdę cenię ludzki wymiar technologii. Niezależnie od tego, czy rozwiązuję złożony problem związany z WordPressem, czy tworzę niestandardowe wtyczki i fragmenty kodu usprawniające przepływy pracy, moim celem jest zawsze ograniczanie tarć i pomaganie ludziom w mądrzejszej pracy. Dla mnie nie ma nic bardziej satysfakcjonującego niż widok rozwiązania, które stworzyłem i które poprawia komuś dzień.

Kiedy jestem offline, zazwyczaj i tak nadal zaglądam „pod maskę” czegoś. Pasjonuję się optymalizacją serwerów i elektroniką DIY, a wolny czas często poświęcam projektom smart home i naprawom sprzętu. Szczególnie cenię czas spędzany w moim domowym warsztacie z dziećmi. Wspólnie zajmujemy się wszystkim, od domowych napraw po kreatywne projekty, rozwijając zamiłowanie do budowania rzeczy, które przetrwają próbę czasu.