Грохаем отклонённые комментарии в вашем WordPress автоматически

Г

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

Если вы не поняли, о чём я сейчас говорю, то вот вам часть скрина (он кликабелен):

Думаю теперь всё ясно.

Так какое решение предлагаю я? На самом деле, оно очень простое, скрипт, который по крону убивает определённые записи в БД. Возможно есть такие плагины, но в плагине тут толку мало — всё равно надо настраивать крон. Скрипт с пояснениями дам ниже. Сейчас немного о том, как это всё устроено у меня.

  1. Скрипт лежит в недоступном для Веба месте, что бы БД не замучили;
  2. Скрипт выполняется по крону раз в 12 часов;
  3. Когда мне приходит нотис о том, что нужно что-то промодерировать, то я его игнорирую, при этом не ставлю пометку «прочитано». Вечером, если выдаётся минутка, то просматриваю их, если что-то попадётся приличного — апрувлю (ещё ни разу не попалось, в настройках блога стоит три ссылки). В четыре утра и в четыре дня скрипт чистит эти комменты;

Как настраивать крон я вас учить не буду, если сами не умеете — напишите в ТП своего хостера, мне и из консольки прикольно.

`comment_approved` = «0» — ждут модерации;
`comment_approved` = «1» — одобрены;
`comment_approved` = «spam» — без комментариев;

<?php
$hostname = «localhost»;
$username = «absolvo»;
$password = «pwd»;
$dbName = «blog»;

MYSQL_CONNECT($hostname,$username,$password) OR DIE(«Не могу создать соединение «);
@mysql_select_db(«$dbName») or die(«Не могу выбрать базу данных «);

$spam = mysql_query(‘SELECT `comment_ID` , `comment_approved` FROM `wp_comments` WHERE `comment_approved` = «0»‘) or die(‘Error!’);
while ($row = mysql_fetch_array($spam)) {
mysql_query(‘DELETE FROM `wp_comments` WHERE `wp_comments`.`comment_ID` =’. $row[‘comment_ID’] .»);
}
?>

Теперь необходимо затрачивать как минимум на два клика меньше, чем вы делали это раньше, и БД от мусора будет избавляться в автоматическом режиме.

Вам нужно будет вписать свои данные (пароль, БД, юзверя и хост), и настроить крон.

Дмитрий Волотко

Метки

Страницы