Как удалить удалённых пользователей WordPress по дате их последней активности

Иногда на сайте WordPress накапливается большое количество пользователей, которые давно не заходили и не проявляли активности. Это может создавать нагрузку на базу данных и усложнять управление пользователями. В этой статье мы рассмотрим, как удалить таких удалённых пользователей по дате их последней активности.

Почему важно удалять неактивных пользователей WordPress

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

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

Как определить неактивных пользователей по дате последней активности

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

Использование плагина WP User Last Login

Плагин WP User Last Login добавляет мета-поле с датой последнего входа пользователя. После установки и активации плагина в профиле каждого пользователя появится дата последнего логина.

Далее можно использовать запросы к базе данных для выборки и удаления тех пользователей, которые не заходили, например, более 6 месяцев.

Код для сохранения даты последней активности самостоятельно

Если вы не хотите использовать плагин, можно добавить следующий код в файл functions.php вашей темы или в отдельный плагин:

add_action('wp_login', 'wpelement_save_last_login', 10, 2);
function wpelement_save_last_login($user_login, $user) {
    update_user_meta($user->ID, 'wpelement_last_login', current_time('mysql'));
}

Этот хук сработает при каждом входе пользователя и сохранит дату в мета-поле wpelement_last_login.

Как удалить пользователей, неактивных более определённого срока

После того как у пользователей есть мета-поле с датой последнего входа, можно написать функцию для удаления неактивных.

Пример кода для удаления неактивных пользователей

function wpelement_delete_inactive_users($days = 180) {
    global $wpdb;
    $date_limit = date('Y-m-d H:i:s', strtotime("-{$days} days"));

    // Получаем ID пользователей, которые не заходили дольше чем $days
    $user_ids = $wpdb->get_col($wpdb->prepare(
        "SELECT user_id FROM {$wpdb->usermeta} WHERE meta_key = 'wpelement_last_login' AND meta_value < %s",
        $date_limit
    ));

    if(empty($user_ids)) return 0;

    foreach($user_ids as $user_id) {
        require_once(ABSPATH.'wp-admin/includes/user.php');
        wp_delete_user($user_id);
    }
    return count($user_ids);
}

Вы можете вызвать эту функцию с нужным количеством дней, например:

echo 'Удалено пользователей: ' . wpelement_delete_inactive_users(180);

Это удалит всех пользователей, которые не заходили более 180 дней.

Автоматизация удаления через WP-Cron

Чтобы не запускать удаление вручную, можно настроить регулярное выполнение этой функции через WP-Cron.

if (!wp_next_scheduled('wpelement_cron_delete_inactive_users')) {
    wp_schedule_event(time(), 'daily', 'wpelement_cron_delete_inactive_users');
}

add_action('wpelement_cron_delete_inactive_users', function() {
    wpelement_delete_inactive_users(180);
});

Так функция будет запускаться ежедневно и удалять старых неактивных пользователей.

Рекомендации по использованию плагинов WPSHOP для управления пользователями

Для расширенного управления пользователями и их активностью можно использовать плагин Expert Review. Он позволяет собирать и анализировать отзывы пользователей, а также мониторить их активность.

Также плагин WPRemark помогает управлять комментариями и отзывами, что дополнительно способствует отслеживанию вовлечённости пользователей.

Что делать перед массовым удалением пользователей

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

Рассмотрите возможность уведомления пользователей о предстоящем удалении аккаунтов, чтобы дать им шанс сохранить доступ.

Выводы и советы

Удаление неактивных пользователей — важная часть поддержки сайта на WordPress. Используйте плагины для отслеживания активности или добавьте свой код для записи даты последнего входа. Затем можно автоматически удалять старые аккаунты, оптимизируя базу данных и повышая безопасность.

Подключайте WP-Cron для автоматизации процесса и не забывайте про резервное копирование. Используйте инструменты от WPSHOP для расширенного контроля и аналитики по пользователям.

Оптимальные названия для постов и страниц в WordPress
23.01.2026
Как добавить многоязычность в WordPress без плагинов
05.04.2026
Как создать динамический редирект в WordPress по условиям
17.02.2026
Как отключить e-mail уведомления от автоматических сообщений WordPress
22.02.2026
Как удалить записи по мета-полю в WordPress
09.12.2025