Что если на вашем wordpress сайте к 100 000 хороших комментариев прибавилось 50 000 нехороших, которые каким-то образом прошли модерацию и теперь засоряют вам карму?
Один из вариантов (не забудьте сделать бэкап базы!):
запросы в консоле mysql для вашей базы :
mysql> TRUNCATE TABLE `wp_comments`; mysql> TRUNCATE TABLE `wp_commentmeta`;
или в phpMyAdmin, удалят ВСЕ комментарии и плохие и хорошие.
Можно установить плагин с такой функциональностью, но протестированные мною Delete All Comments, Remove All Comments и Delete All Comments Easily не удаляют связанные записи в таблице wp_commentmeta
Другой вариант:
Удалять комментарии только по какому-либо критерию, например IP автора: поле comment_author_IP в таблице wp_comments. Нужно сделать выборку из этой таблицы, сохранив ID комментария, чтобы удалить связанные с ним записи в таблице wp_commentmeta. Например, можно сделать такие запросы к бд:
mysql> DELETE FROM wp_commentmeta WHERE comment_id IN (SELECT comment_ID FROM wp_comments WHERE comment_author_IP = '95.181.179.91'); mysql> DELETE FROM wp_comments WHERE comment_author_IP = '95.181.179.91';
А если мы хотим указать только часть IP, то получатся примерно такие запросы:
mysql> DELETE FROM wp_commentmeta WHERE comment_id IN (SELECT comment_ID FROM wp_comments WHERE comment_author_IP LIKE '95.181.%'); mysql> DELETE FROM wp_comments WHERE comment_author_IP LIKE '95.181.%';
Плагин с похожим функционалом не нашел, может кто подскажет в комментариях?
Ну а чтобы комментарии на вашем сайте не страдали больше от таких явлений как спам, установите самый популярный анти-спам плагин Akismet , даже с бесплатной подпиской он очень эффективен, достаточно только зарегистрироваться указав e-mail.