/home/su-dung-sql-de-quan-ly-binh-luan-tren-wordpress

Sử dụng SQL để quản lý bình luận trên Wordpress

Published on | Updated

Mặc dù wordpress đã xây dựng một hệ thống quản lý bình luận tương đối hiệu quả, nhưng với một số công việc giống như xóa hàng loạt các bình luận thì việc sử dụng SQL dễ dàng và nhanh chóng hơn hẳn.
Trong bài viết này, tôi sẽ trình bày vài câu lệnh truy vấn SQL khá hữu ích để quản lý bình luận dễ dàng hơn.

Một vài ghi chú

Xóa tất cả bình luận được gắn mác spam

Khi bạn có hơn 100.000 bình luận gắn mác spam trong hệ thống của bạn, sử dụng nút Empty spam của wordpress sẽ bị lỗi vì PHP sử dụng quá nhiều RAM để xử lý. Để khắc phục điều này, đơn giản chỉ bằng câu lệnh SQL để xóa tất cả bình luận spam

DELETE from wp_comments WHERE comment_approved = 'spam'

Xóa tất cả bình luận giữa 2 mốc thời gian

Bạn bị spammer tấn công trong một khoảng thời gian xác định? Câu lệnh SQL sẽ xóa tất cả bình luận giữa 2 mốc thời gian

DELETE FROM wp_comments
WHERE comment_date > '2014-03-15 20:03:00'
AND comment_date <= '2014-03-22 20:03:00'

Xóa tất cả bình luận chờ duyệt

Nếu phần quản lý bình luận chờ duyệt (pending comment) của bạn bị choáng ngợp bởi 99% bình luận spam và bạn không muốn ngồi duyệt từng bình luận một, câu lệnh SQL này sẽ xóa toàn bộ bình luận chờ duyệt ngay lập tức

DELETE FROM wp_comments WHERE comment_approved = '0'

Vô hiệu hóa bình luận tất cả các post

Bạn muốn tắt bình luận cho tất cả các post? Thay vì tắt bình luận cho từng post một, tại sao không dùng SQL nhanh chóng và tiện lợi?

UPDATE wp_posts SET comment_status = 'closed', ping_status = 'closed' WHERE comment_status = 'open'

Vô hiệu hóa bình luận ở những bài đăng cũ

Để hạn chế spam, sao không tắt bình luận ở những bài đã đăng khá lâu? Câu lệnh SQL này sẽ tự động tắt bình luận ở tất cả các bài được đăng trước ngày 1 tháng 1 năm 2014

UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2014-01-01' AND post_status = 'publish'

Tìm và thay thế từ trong bình luận

Nếu bạn muốn thay thế một số từ đặc biệt bằng các từ khác trong tất cả bình luận. Sử dụng câu lệnh dưới đây với function REPLACE của MySQL

UPDATE wp_comments SET `comment_content` = REPLACE (`comment_content`, 'Từ_Gốc', 'Từ_Cần_Thay')

Chỉ bật bình luận cho thành viên

UPDATE wp_posts SET comment_status = 'registered_only'

Tổng hợp từ nhiều nguồn.