Orders in bulk verwijderen (WooCommerce)
Versie door Jeroen Strompf (overleg | bijdragen) op 23 sep 2020 om 16:51
WordPress lijkt niet te zijn gebouwd om via de interface duizenden orders te verwijderen. Gelukkig kan dit gemakkelijk in SQL, en naar het zich laat aanzien, op een veilige manier:
WP-CLI
[1]: Da's interessant! Bv.:
wp post delete $(wp post list --field=ID --post_type="shop_order") --force
SQL
Is dit wel betrouwbaar? Blijft er geen data achter, bv. in tabel w_woocommerce_order_items
?
Verplaats alle orders naar trash
UPDATE wp_posts SET post_status = 'trash' WHERE post_type = 'shop_order';
of
UPDATE wp_posts SET post_status = 'trash' WHERE post_type = 'shop_order' and post_status="wc-completed";
Leeg trash
Legen van trash als daar veel items in zitten, kan ook problematisch zijn. Gelukkig is ook dat te automatiseren:
DELETE FROM wp_posts WHERE post_type = 'shop_order' AND post_status = ‘trash’
Toch heb ik m'n twijfels of deze methode wel ok is, zo zonder de WC-API te gebruiken.