Я уже неоднократно писал о том, как продуктивно и быстро редактировать параметры блога напрямую в базе данных, даже не загружая WordPress. Иногда такой способ бывает намного быстрее и безопаснее, нежели чем работа через админку и с помощью плагинов. Давайте посмотрим, что можно сделать с комментариями.
Все запросы, написанные ниже, выполняются в окне запросов к базе данных в phpMyAdmin. Так что же можно сделать с комментариями? Например, можно сразу и во всех постах запретить комментирование устаревших записей. Да, это именно та настройка из админки, закрывающая старые записи от комментариев.
UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2010-06-16' AND post_status = 'publish';
Этот запрос закрывает все записи от возможности комментирования, если они опубликованы до 16 июня 2010 года.
Можно заменить определенную ссылку в комментариях, которая скрывается под ником комментатора, на другую. Например, кто-то при комментировании указывал сайт старый_сайт.ru. Так вот можно все эти ссылки в базе данных поменять на другие, например на новый_сайт.ru.
UPDATE wp_comments SET comment_author_url = REPLACE( comment_author_url, 'http://старый_сайт.ru', 'http://новый_сайт.ru' );
По аналогии можно поменять не только сайт, но и адрес электронной почты.
UPDATE wp_comments SET comment_author_email = REPLACE( comment_author_email, 'старый@address.ru', 'новый@address.ru' );
Можно вообще найти и удалить все комментарии, в которых встречается ссылка с определенным текстом. Например, блог завалили спамом с одними и теми же ссылками (ну вы их все прекрасно знаете: viagra, penis, medical, farma,…). Применив простой запрос по определенному слову, можно напрочь вычистить базу данных от всех неугодных комментариев.
DELETE from wp_comments WHERE comment_author_url LIKE "%viagra%" ;
Обратите внимание, что зараза – это и есть то слово, найдя ссылку с которым, база данных напрочь сотрет весь комментарий.
Пользуйтесь, но не забывайте, что перед экспериментами с базой данных лучше делать ее бэкап.