Khi quản trị website bán hàng bằng wordpress, đôi khi bạn muốn xóa toàn bộ các đơn hàng trong woocommerce. Nhưng vì lý do có hàng ngàn đơn đang chờ xử lý, nếu cứ xóa thủ công bằng cách chuyển sang thùng rác trong trang quản trị thì không biết đến bao giờ mới xong. Sau đây là mẹo xóa toàn bộ ( xóa hết sạch) các đơn hàng trong woocommerce bằng câu lệnh mysql:
Lưu ý trước khi xóa để thực hiện thành công không ảnh hưởng đến website
- Bạn cần có quyền truy cập vào hosting hoặc có thể đăng nhập được vào mysql.
- Backup database trước khi xóa phòng trường hợp lỗi xảy ra còn có thể khôi phục web nhanh nhất
Câu lênh xóa hết đơn hàng
Bạn nhập các câu lệnh sau vào mục chạy các truy vấn SQL trong phpmyadmin của database cần xóa. sau đó bấm thực hiện:
DELETE FROM wp_woocommerce_order_itemmeta;
DELETE FROM wp_woocommerce_order_items;
DELETE FROM wp_comments WHERE comment_type = 'order_note';
DELETE FROM wp_postmeta WHERE post_id IN ( SELECT ID FROM wp_posts WHERE post_type = 'shop_order' );
DELETE FROM wp_posts WHERE post_type = 'shop_order';
Chuyển hết đơn hàng sang thùng rác và xóa
Nếu như bạn sợ nhập xong câu lệnh trên mà bị nhầm không khắc phục được bạn có thể sử dụng câu lệnh chuyển toàn bộ đơn hàng vào thùng rác
UPDATE wp_posts SET post_status = 'trash' WHERE post_type = 'shop_order';
Sau đó vào trong quản trị xóa hết thùng rác theo đường dẫn: Woocommerce -> Orders -> Trash and click Empty Trash.
Mẹo nhỏ cho bạn nào không có quyền truy cập hosting và không nhờ được code xóa. Lúc này bạn chỉ có thể xóa thủ công Tuy nhiên đây là mẹo giúp bạn có thể xóa nhanh hơn chút. Thay vì xóa 20 đơn hàng mỗi lần. Bạn có thể xóa được 200 đơn hàng/ lần. Hoặc nếu hosting hay vps khỏe có thể xóa tối đa 999 đơn/ lần. Cách làm như sau:
Trong phần tùy chọn hiển thị bạn thay đổ số đơn hàng hiển thị từ 20 thành 200 đơn/ page -> bấm áp dụng. Sau đó tick vào ô chọn tất cả đơn hàng và xóa thôi. ( Xem hình bên dưới). Mỗi lần bạn xóa được 200 đơn, tính ra 1000 đơn bạn chỉ ần xóa 5 lần. Vẫn nhanh hơn xóa 20 đơn 1 lần.

Chúc các bạn thành công!






Để lại một câu trả lời