Newer
Older
clear-wplms-students / clear-wplms-students.php
<?php
/*
Plugin Name: Delete UZ Students
Description: Удаляет пользователей с ролью "student" которые встречаются на UZ
Version: 1.0
Author: E. Sukhodolskiy from VMK
*/

if (!defined('ABSPATH')) {
    exit; // Защита от прямого доступа
}

function delete_students_by_id() {
    // Проверяем наличие прав администратора
    if (!current_user_can('manage_options')) {
        return;
    }

    // Получаем всех пользователей с ролью "student"
    $args = array(
        'role'    => 'student',
        'fields'  => 'ID', // Получаем только ID
        'number'  => -1,   // Без ограничения на количество
    );

    $user_query = new WP_User_Query($args);

    // Проверяем, есть ли пользователи
    if (!empty($user_query->get_results())) {
        foreach ($user_query->get_results() as $user_id) {
            // Удаляем пользователей, если их ID меньше 1680
            if ($user_id < 1680) {
                wp_delete_user($user_id);
            }
        }
        wp_die('Пользователи успешно удалены. Вы можете отключить плагин.');
    } else {
        wp_die('Подходящих пользователей не найдено. Вы можете отключить плагин.');
    }
}

// Добавляем админ-страницу для выполнения действия
function delete_students_menu() {
    add_menu_page(
        'Удаление студентов',
        'Удалить студентов',
        'manage_options',
        'delete-students',
        'delete_students_by_id'
    );
}
add_action('admin_menu', 'delete_students_menu');