SQL-запросы для массового управления комментариями WordPress

SQL-запросы для массового управления комментариями WordPress

16 марта 2015 52

WordPress имеет очень удобный и дружелюбный интерфейс управления комментариями. Но порой его бывает недостаточно, особенно для решения задач массового характера. В этих случаях намного проще и быстрее пользоваться средствами SQL.

CodeCanyon: Лучшие SEO-плагины для WordPress
CodeCanyon: Лучшие SEO-плагины для WordPress

Сегодня я покажу несколько очень эффективных запросов SQL. Я уверен, они вам не раз пригодятся и сэкономят массу вашего драгоценного времени.

Новичкам напомню

Управлять вашей базой данных проще и удобнее всего с помощью приложения PHPMyAdmin (PMA), которое имеется практически на любом, даже самом захудалом виртуальном хостинге.

phpMyAdmin — веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. phpMyAdmin позволяет через браузер осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных.

Самое главное

  • Перед выполнением любого запроса обязательно создайте резервную копию вашей БД.
  • Если в вашей БД используются отличные от дефолтного префиксы, не забудьте изменить их в запросах.

Итак, поехали!

Удалить все комментарии с меткой СПАМ

Если в очереди спама вашего WordPress имеется более ста тысяч комментариев, удаляя их с помощью стандартной функции удаления спама, можно вызвать ошибку памяти PHP. Чтобы этого избежать, используйте простой SQL-запрос массового удаления спама.

DELETE from wp_comments WHERE comment_approved = 'spam'

Удалить все комментарии между двумя датами

Пригодится после спам-атаки на ваш сайт. С помощью запроса ниже вы сможете удалить все комментарии за какой-то определенный период времени. Например, с 1 марта 2015 по 14 марта 2015 года. Для более точного запроса, можно также использовать время публикации.

DELETE FROM wp_comments
WHERE comment_date > '2015-03-01 00:00:00'
AND comment_date <= '2015-03-14 00:00:00'

Удалить все ожидающие комментарии

Если ваши ожидающие комментарии — это преимущественно спам и у вас совсем нет желания заниматься их модерацией, вы можете с помощью всего лишь одного SQL-запроса мгновенно их все удалить.

DELETE FROM wp_comments WHERE comment_approved = '0'

Запрет комментирования для всех публикаций

С помощью этого запроса, вы можете запретить возможность комментирования для всех публикаций блога сразу.

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

Запрет комментирования старых публикаций

Как известно, ограничив комментирование для старых публикаци можно существенно снизить количества спама. А быстро запретить комментирование для публикаций старше какой-то определенной даты можно с помощью SQL-запроса. Например, для всех публикаций, опубликованных до 1 марта 2015 года.

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

Удалить комментарии с определенным URL

Иногда спам настолько завуалирован, что детектируется лишь спустя некоторое время по одинаковому URL. Чтобы быстро все почистить вам поможет небольшой SQL-запрос.

DELETE from wp_comments WHERE comment_author_url LIKE "%nastyspamurl%" ;

Поиск и замена текста комментария

Может быть вам когда-нибудь потребуется заменить в комментариях какое-нибудь слово. Например, вы решите разом избавиться от мата в комментариях. Благодаря функции Replace, делается это очень просто.

UPDATE wp_comments SET `comment_content` = REPLACE (`comment_content`, 'Старый текст', 'Новый текст')

Разрешить комментирование только зарегистрированным пользователям

Пожалуй, самый эффективный способ снижения количества получаемого спама в комментариях — это запрет комментирования не зарегистрированным пользователям. А сделать это быстро вам поможет SQL-запрос.

UPDATE wp_posts SET comment_status = 'registered_only'

В заключении хотелось бы сказать, что с помощью запросов SQL вы можете не только массово управлять комментариями, но и напрямую воздействовать на работу вашего WordPress. Но делать это нужно крайне внимательно и с глубочайшим пониманием сути. Поэтому, еще раз повторюсь, будьте предельно внимательны и не забывайте про бэкапы БД.

Автор: Иван Данилин

Практикующий веб-разработчик, специализируюсь на платформе WordPress.

Комментарии

Разгоните свой WordPress

Хостинг-провайдер номер один в России — REG.RU

Подробнее