Простое управление комментариями WordPress через MySQL

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

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

Для удаления всех СПАМ комментариев разом надо запустить следующий запрос:
DELETE FROM wp_comments WHERE wp_comments.comment_approved = 'spam';
Этот запрос корректно работает во всех версиях WordPress включая линейку WordPress 3.X.X

Включение и Отключение комментариев

База данных MySQL WordPress таблица “wp_posts” содержит столбец под названием “comment_status”, который может содержать одно из следующих значений строк:
1. open (комментарии открыты для каждого)
2. closed (комментарии закрыты для всех)
3. registered_only (открыты для зарегистрированных пользователей)
Имея на вооружении эти данные ты можешь манипулировать обсуждением постов. Не забывайте про резервные копии. Как проводить эти манипуляции, смотрите дальше:

Глобальное включение комментариев для всех пользователей

UPDATE wp_posts SET comment_status = 'open';

Глобальное отключение комментариев для всех пользователей

UPDATE wp_posts SET comment_status = 'closed';

Глобальное включение комментариев для всех зарегистрированных пользователей

UPDATE wp_posts SET comment_status = 'registered_only';

Глобальное включение / отключение комментариев после определенной даты

В этом запросе переменными является не только comment_status, которому могут быть присвоены значения open, closed, или registered_only, но и дата, которую необходимо изменить в соответствии со своими надобностями.
UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2008-01-01' AND post_status = 'publish';
Эту функцию можно применять по истечении каждого года, когда актуальность статей, написанных давно, сильно снижается. В любом случае, это зависит от тематики блога. Если твои публикации на темы разумного, доброго, вечного, которые не устареют никогда, то комментирование к ним можно никогда не закрывать.

Отключение / Включение Трекбеков и Пингбеков

Подобно предыдущему, ping_status имеет такие же значения, за небольшим исключением исключением:
1. open (трекбеки и пингбеки открыты для каждого)
2. closed (трекбеки и пингбеки закрыты для всех)
Опять же, не поленюсь написать о том, что не надо забывать о резервном копировании базы данных.

Глобальное включение трекбеков и пингбеков для всех пользователей

UPDATE wp_posts SET ping_status = 'open';

Глобальное отключение трекбеков и пингбеков для всех пользователей

UPDATE wp_posts SET ping_status = 'closed';

Глобальное отключение / включение трекбеков или пингбеков для статей, написанных до заданной даты

Для этого запроса задается значение ping_status open или close, а также дата. Для статей, написанных ранее заданной даты, все трекбеки и пингбеки будут закрыты.
UPDATE wp_posts SET ping_status = 'closed' WHERE post_date < '2008-01-01' AND post_status = 'publish';
Можешь применять этот запрос для тех постов, для которых трекбеки и пингбеки уже давным давно неважны.

Полный одношаговый менеджмент дискуссий

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

Глобальное отключение комментариев, трекбеков, пингбеков

В этом запросе задаются следующие значения: comment_status, open, closed, registered_only, а также ping_status, open или closed.
UPDATE wp_posts SET comment_status = 'open', ping_status = 'open' WHERE comment_status = 'closed' AND post_status = 'publish';

Глобальное отключение комментариев, трекбеков, пингбеков в постах, написанных до определенной даты

В этом запросе задаются следующие значения: comment_status, open, closed, registered_only, а также ping_status, open или closed и дата, до которой надо закрыть дискуссии.
UPDATE wp_posts SET comment_status = 'closed', ping_status = 'closed' WHERE post_date < '2008-01-01' AND post_status = 'publish';

  1. Наблюдатель

    Класс! Только вот не пойму, нафига тысячам таких юзверей, как я, такие трудности???
    П.С. Кстати, Жень, что-то твой Disqus не дает авторизовываться. Т.е. когда я нажимаю «показывать url» и «получать комменты по емейл», при отправке коммента появляется ошибка «There was an error with your request.» А если ничего не нажимать — отправляется нормально. Раньше я такой фигни не наблюдал. Говорю, фигня все эти навороченные сервисы. Чем плоха традиционная форма комментариев?

  2. eavasi

    Я подключил Дискусс, чтобы разгрузить свою базу. Дело в том, что я стал участником одного проекта, который сильно грузит мой хостинг (это не этот блог и не новый, а другой сайт)
    Ты говоришь, что все отправляется нормально, если ничего не нажимать. Ну так, не нажимай и все будет хорошо.
    Традиционная форма комментариев плоха тем, что ею пользуются все, а мне не нравится делать как все. Я люблю, чтобы все было только как у меня. Не только белая шляпа, но и белая ворона))))))))))))
    Быть белой вороной хорошо. Я пробовал, поверь, вот уже 41 год пробую.

  3. Владимир

    неужели для кого-то управлять комментами через базу данных проще? это же сколько всех комманд нужно запомнить

Добавить комментарий

Ваш e-mail не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.