Xoá tất cả post type bằng MySQL trong WordPress

Rate this post

Nếu bạn có ít bài viết, việc xoá có thể thực hiện đơn giản thông qua giao diện quản trị. Tuy vậy, trong trường hợp bạn có hàng nghìn, thậm chí hàng chục nghìn mục và muốn xoá, hãy thử câu lệnh MySQL sau.

Giả sử, post type của mình có slug là codetot_news.

Lưu ý thay prefix SQL wp_ nếu bạn đang sử dụng table prefix khác.

Lần lượt chạy lệnh sau,

DELETE FROM wp_posts WHERE post_type='codetot_news';
DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT id FROM wp_posts);
DELETE FROM wp_term_relationships WHERE object_id NOT IN (SELECT id FROM wp_posts)

Tiếp đến, nếu bạn có taxonomy có liên quan tới post type này, ta cần reset bộ đếm của mỗi term.

UPDATE wp_term_taxonomy tt
    SET count =
    (SELECT count(p.ID) FROM  wp_term_relationships tr
    LEFT JOIN wp_posts p
    ON (p.ID = tr.object_id AND p.post_type = 'codetot_news' AND p.post_status = 'publish')
    WHERE tr.term_taxonomy_id = tt.term_taxonomy_id
);

Hãy thử làm xem sao nhé.

Viết một bình luận

Chuyên gia về Web
Bạn muốn làm việc với dịch vụ website do chúng tôi triển khai?
Liên hệ: 0876-80-84-80
Chuyên gia về Web
Bài viết liên quan

28/01/2023

Hướng dẫn cài đặt php extension mongodb trên Mac OS M1
Khi bạn muốn hỗ trợ MongoDB trên dòng Mac M1, phần cài đặt sẽ cần một chút lưu ý. Hướng...
Git

18/12/2022

Xử lý lỗi Git không thể tiến hành merge do merge.renamelimit
Khi bạn tiến hành merge nhánh phụ vào nhánh chính hoặc lên nhánh production, có thể xung đột xảy ra...
Fix lỗi ERR_TOO_MANY_REDIRECTS khi cấu hình tên miền trên CloudFlare

17/12/2022

Fix lỗi ERR_TOO_MANY_REDIRECTS khi cấu hình tên miền trên CloudFlare
Khi các bạn bật biểu tượng đám mây trên DNS của tên miền tại CloudFlare, nhiều bạn sẽ gặp tình...
Hướng dẫn cài extension ioncube trên phần mềm LocalWP

16/11/2022

Hướng dẫn cài extension ioncube trên phần mềm LocalWP
LocalWP là phần mềm tạo web server dành cho fan yêu thích WordPress. Hướng dẫn này bổ sung cách cài...