Удаление неактивных пользователей с блога WordPress

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

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

Пожалуй, существует лишь один рабочий и эффективный плагин для быстрого удаления пользователей на блоге WordPress. Называется он Clean Up Users. Устанавливается он путем копирования файла deleteusers.php в директорию wp-content/plugins. После установки активируйте его в админке. Однако перед началом удаления пользователей следует внести некоторые изменения в следующий файл - wp-adminincludestemplate.php. Для начала найдите там вот эту строчку:


'posts' => __('Posts')

Сразу после нее нужно вставить другую строчку:

'comments' => __('Comments')

Далее найдите вот такую конструкцию:

$numposts = get_usernumposts( $user_object->ID )

После нее нужно дописать вот это:

$numcomments = get_usernumcomments( $user_object->ID )

Теперь ищем вот такую конструкцию:

} else {$r .= 0

Ее следует заменить на:


}
$r .= "</td>";
break;
case 'comments':
$attributes = 'class="num"' . $style;
$r .= "<td $attributes>";
if ( $numcomments > 0 ) {
$r .= $numcomments;

В конце не забудьте сохранить файл. Далее открываем файл user.php, располагающийся здесь - wp-adminincludes. Его также нужно отредактировать. После 194 строчки вставьте следующий фрагмент кода:


function get_usernumcomments($userid) {
global $wpdb;
$userid = (int) $userid;
$count = $wpdb->get_var( $wpdb->prepare("SELECT COUNT(*) FROM $wpdb->comments WHERE user_id = %d AND comment_approved = '1'", $userid));
return apply_filters('get_usernumcomments', $count, $userid);
}

Для чего же были нужны все эти манипуляции с файлами? По умолчанию плагин не показывает число комментариев и постов у пользователей. Таким образом, вы не можете увидеть, является ли данный человек спамером. После внесения изменений в файлы зайдите в пункт админки под названием «Авторы и Пользователи». Там появится новая колонка, в которой будет отображаться число комментариев. Теперь вам нужно поставить галочку напротив пункта под названием «Delete users with no comments or posts», после чего нажать на кнопку «Submit». Неактивные пользователи будут быстро удалены. Придется подождать несколько секунд или минут (здесь все зависит от размера вашего блога, его возраста и числа пользователей). В самом конце будет указано, сколько именно пользователей плагин удалил.

Перед началом процедуры удаления желательно сделать бекап базы данных блога.

Скачать архивы



Комментировать

captcha

Сайты:



Новые отзывы о сайтах:

Авторизация

Если у Вас нет учетной записи, зарегистрируйтесь

captcha

Напомнить пароль
Создание учётной записи

captcha

Напомнить пароль

captcha

Войти в личный кабинет