Kako obrisati sve porudžbine iz WooCommerca jednim klikom?

Postoje trenuci kada imate hiljade WooCommerce porudžbina, proizvoda, kategorija, oznaka, kupona, kupaca ili prilagođenih polja, a opcija „Grupno uređivanje > Izbriši“ na kontrolnoj tabli WordPress jednostavno nije isplativa ni u pogledu troškova ni vremena.

Možda zato što vaša web lokacija pada jer ne može da obradi toliko informacija u isto vreme, ili možda zato što imate mali budžet i ne možete da priuštite da pritisnete „izbriši“ 100 ili 1000 puta ručno.

Kako pristupiti WordPress bazi podataka?

Vaša kontrolna tabla za hosting treba da ima ikonu ili vezu „phpMyAdmin“. Ovo će vam omogućiti da se prijavite na svoju bazu podataka. Evo primera sa cPanelom.

cPanel Tools

Sada izaberite svoju bazu podataka sa leve strane i kada njene tabele budu navedene na desnom panelu, zabeležite prefiks tabela baze podataka. Podrazumevano je ovo „wp_“, ali svaka instalacija WordPress-a bi mogla da koristi drugačiji prilagođeni prefiks. U mom slučaju to je „wtit2k22p_“, kao što možete videti na snimku ekrana.

sql baza podataka phpMyAdmin 5.2.2

Zatim idite na karticu „SQL“ i napišite jednu od izjava DELETE koje ćete pronaći u nastavku, na osnovu onoga što treba da obrišete. Naravno, morate da promenite sva pojavljivanja „wp_“ u svoj prilagođeni prefiks tabele WordPress baze podataka (wtit2k22p_ u mom slučaju). To je to!

Odricanje odgovornosti: ovo bi moglo da upropasti celu vašu WordPress bazu podataka. Koristite samo ako znate šta radite i prvo testirajte u lokalnom okruženju.

Grupno brisanje svih porudžbina:

High-Performance Order Storage (HPOS) u WooCommerce-u, porudžbine više nisu smeštene u wp_posts tabeli, već u novim tabelama specifičnim za HPOS.

Moraš da ih obrišeš iz ovih tabela:

  • wp_wc_orders
  • wp_wc_order_addresses
  • wp_wc_order_operational_data
  • wp_wc_orders_meta
  • wp_wc_order_stats
  • wp_wc_order_tax_lookup
  • wp_wc_order_product_lookup
  • wp_wc_order_coupon_lookup

Evo kompletnog SQL upita za brisanje svih porudžbina i povezanih podataka u HPOS režimu:

-- Brišemo porudžbine iz HPOS tabela
DELETE FROM wtit2k22p_wc_order_addresses;
DELETE FROM wtit2k22p_wc_order_operational_data;
DELETE FROM wtit2k22p_wc_orders_meta;
DELETE FROM wtit2k22p_wc_order_stats;
DELETE FROM wtit2k22p_wc_order_tax_lookup;
DELETE FROM wtit2k22p_wc_order_product_lookup;
DELETE FROM wtit2k22p_wc_order_coupon_lookup;
DELETE FROM wtit2k22p_wc_orders;

-- Brišemo podatke iz WooCommerce analitike
DELETE FROM wtit2k22p_wc_admin_note_actions;
DELETE FROM wtit2k22p_wc_admin_notes;
DELETE FROM wtit2k22p_wc_reserved_stock;


-- Brišemo podatke iz klasičnih WooCommerce tabela ako su ostali neki tragovi
DELETE FROM wtit2k22p_woocommerce_order_itemmeta
WHERE order_item_id IN (SELECT order_item_id FROM wtit2k22p_woocommerce_order_items);


DELETE FROM wtit2k22p_woocommerce_order_items;


DELETE FROM wtit2k22p_commentmeta
WHERE comment_id IN (SELECT comment_ID FROM wtit2k22p_comments WHERE comment_type = 'order_note');


DELETE FROM wtit2k22p_comments WHERE comment_type = 'order_note';


DELETE FROM wtit2k22p_postmeta
WHERE post_id IN (SELECT ID FROM wtit2k22p_posts WHERE post_type = 'shop_order');


DELETE FROM wtit2k22p_posts WHERE post_type = 'shop_order';

Dodatni koraci nakon pokretanja SQL-a

  1. Očisti keš – Ako koristiš Redis ili neki drugi keš, isprazni ga.
  2. Resetuj WooCommerce analitiku – Idi u WooCommerce > Status > Alati i klikni na „Clear Analytics Cache“.
  3. Osveži dashboard – Porudžbine bi sada trebale biti potpuno obrisane.

Ako se i dalje vraćaju, moguće je da WooCommerce ponovo indeksira podatke – u tom slučaju možeš probati da isključiš i ponovo uključiš HPOS u WooCommerce > Settings > Advanced > High-Performance Order Storage.

0 odgovora

Ostavite komentar

Želite da se pridružite diskusiji?
Slobodno dajte svoj doprinos!

Ostavite odgovor

Vaša adresa e-pošte neće biti objavljena. Neophodna polja su označena *