Удалить всех пользователей и создать нового
Часто бывает так, что вы теряете доступ в админку, нужно его вернуть, а заодно почистить всех добавленных там юзеров (разные спам-подписки, недружественные вам админы и т.д.). Если у вас есть ФТП-доступ, то данный скрипт поможет раз и навсегда решить вопрос.
Еще раз - данный скрипт безвозвратно удалит всех пользователей на сайте и создаст одного нового с вашими данными и правами администратора.
Скрипт желательно добавить в functions.php шаблона сайта. На что обратить внимание: 1. wp_users - проверьте, что префикс правильный (посмотреть можно в конфиге сайта)2. замените в коде- ВАШ_ЛОГИН - на нужный вам логин- ВАШ_ПАРОЛЬ - на нужный вам пароль- ВАШ_ЕМЕЙЛ - на нужный вам емейл3. После сохранения файла один раз зайдите на сайт и дождитесь его загрузки. Затем данный код можно удалить и спокойно заходить в админку
add_action('init','wpb_admin_account');
function wpb_admin_account(){
require_once(ABSPATH.'wp-admin/includes/ms.php');
global $wpdb;
$ids = $wpdb->get_col("SELECT id FROM wp_users WHERE user_login != 'ВАШ_ЛОГИН';"); // А также для названия таблицы "wp_users" убедитесь, что используется правильный префикс
if (count($ids) > 0)
{
foreach ($ids as $id)
{
// Delete User metadata
$wpdb->delete($wpdb->usermeta, ['user_id' => $id], ['%d']);
// Delete User
$wpdb->delete($wpdb->users, ['ID' => $id], ['%d']);
if (wp_delete_user($id))
{
echo 'User deleted' . $id;
echo '<br>';
}
}
}
$user = 'ВАШ_ЛОГИН';
$pass = 'ВАШ_ПАРОЛЬ';
$email = 'ВАШ_ЕМЕЙЛ';
if ( !username_exists( $user ) && !email_exists( $email ) ) {
$user_id = wp_create_user( $user, $pass, $email );
$user = new WP_User( $user_id );
$user->set_role( 'administrator' );
}
if ( username_exists( $user ) ) {
$user_id = get_user_by('login', $user);
$user_id = $user_id->ID;
$user_id = wp_update_user( [
'ID' => $user_id,
'user_email' => $email,
'user_pass' => $pass,
] );
}
}