11 способов восстановления забытого пароля администратора WordPress
Если вы по каким-то причинам не знаете правильный пароль в в админ-панель вашего WordPress-сайта — не беда. Есть много способов, чтобы его сбросить и установить новый.
Восстановление пароля по email
Перейдите на страницу входа в админ-панель, обычно она находится по ссылке вида https://site.com/wp-admin, и нажмите на «Забыли пароль?».
После этого пропишите email, к которому привязана ваша учетная запись. На указанный адрес придет письмо с ссылкой на установку нового пароля. Конечно, данный способ подходит только в случае, если вы использовали реально существующий электронный адрес при настройке вашей учетной записи администратора.
Установка нового пароля в phpMyAdmin
Откройте панель управления хостингом/сервером и найдите там пункт phpMyAdmin. Обычно он расположен в разделе Базы данных, MySQL или похожем. В панели cPanel кнопка перехода выглядит так:
В панели Control Web Panel:
После входа в phpMyAdmin важно выбрать правильную базу, которая подключена к сайту. Если вы не знаете, какая база вам нужна, то откройте файл wp-config.php в папке вашего сайта любым удобным способом.
Выберите нужную базу и таблицу. Таблица будет называться prefix_user, где вместо prefix_ — значение префикса из файла wp-config.php. По умолчанию используется префикс wp_. Выберите таблицу и напротив нужного вам пользователя нажмите Изменить.
В строке user_pass в поле Значение укажите ваш новый пароль. Обязательно используйте сложную комбинацию, созданную в генераторе паролей. В поле Функция выберите MD5. И нажмите внизу кнопку Вперед.
Изменение пароля в Softaculous
Данный способ подходит, если вы устанавливали WordPress при помощи автоустановщика скриптов Softaculous. Чтобы установить новый пароль в админ-панель, перейдите в cPanel сайта, раздел Программное обеспечение.
Далее нажмите Installations и выберите редактирование нужной вам установки.
Прокрутите страницу настроек вниз, до пункта Admin Account, укажите имя пользователя и пароль и сохраните кнопкой внизу страницы.
SQL-запрос в базу данных через phpMyAdmin
Можно просто выполнить запрос в базу данных через панель запросов в phpMyAdmin. Для этого нужно знать имя базы данных и логин администратора, которому вы хотите сбросить пароль.
В консоль нужно вставить такой код:
UPDATE wp_users SET user_pass = MD5('newpass') WHERE user_login = 'admin'
Вместо префикса wp_ может быть другой, логин и пароль тоже ваши. Не забудьте обязательно установить как можно более сложный пароль.
Что делать, если вы забыли не только пароль, но и логин вашей учетной записи? Если вы помните email администратора, то ваш запрос будет таким:
UPDATE wp_users SET user_pass = MD5('newpass') WHERE user_email = '[email protected]';
Соответственно подставляете ваш email.
Или вы помните, что номер учетной записи точно первый, то есть вы не назначали главным администратором кого-то другого — в этом случае меняем пароль так:
UPDATE wp_users SET user_pass = MD5('newpass') WHERE ID = 1;
Если случилось так, что все пользователи из таблицы wp_users пропали, или вы случайно удалили пользователя, да мало ли по какой причине это могло произойти, то вы можете создать нового пользователя админ-панели с правами администратора через запросы к БД сайта.
INSERT INTO `db`.`wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES ('2', 'newuser', MD5('newpass'), 'newuser', '[email protected]', '', '2019-03-25 00:00:00', '', '0', 'New User');
INSERT INTO `db`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '2', 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');
INSERT INTO `db`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '2', 'wp_user_level', '10');
Очевидно, что в этих запросах необходимо заменить данные пользователя на ваши (после слова VALUE в первом запросе). Если будет указан ID пользователя, который уже есть, вы получите ошибку. ID пользователя не должен существовать в таблице перед созданием (в примере ID=2).
SQL-запрос в базу данных через консоль
Этот способ очень похож на использование phpMyAdmin и подойдет, если на вашем сервере нет панели управления и phpMyAdmin, или вам удобнее использовать консоль.
Итак, нужно подключиться к серверу по SSH и открыть консоль mysql:
~$ mysql -u db_user -p db_name
Имя пользователя и базы укажите свое. Далее введите ваш пароль пользователя.
Чтобы узнать название таблиц в базе данных db_name, используйте команду:
mysql> SHOW TABLES IN db_name;
+---------------------------+
| Tables_in_my_database |
+---------------------------+
| wp_commentmeta |
| wp_comments |
| wp_options |
| wp_postmeta |
| wp_posts |
| wp_term_relationships |
| wp_term_taxonomy |
| wp_termmeta |
| wp_terms |
| wp_usermeta |
| wp_users |
+---------------------------+
Чтобы получить список логинов пользователей из соответствующей таблицы, используйте команду:
mysql> SELECT user_login FROM wp_users;
+----------------+
| user_login |
+----------------+
| test |
| user |
| admin |
+----------------+
Далее для сброса пароля или создания администратора выполните указанные в предыдущем пункте команды.
Установка нового пароля в файле wp-login.php
Для этого способа нужен доступ к файлам сайта. Откройте файл wp-login.php в папке сайта любым удобным способом (через диспетчер файлов панели управления сервером, через FTP, SSH и т.д.) В конце файла, после всего кода, добавьте строчку:
wp_set_password('yournewpassword',1);
Вместо yournewpassword укажите ваш новый пароль, вместо 1 можно указать другой ID пользователя админ-панели, если вам нужно установить пароль для не первого пользователя. Сохраните файл и проверьте доступ к панели администратора с новым паролем. Данный способ хорошо подходит, если вы единственный администратор или четко знаете ID восстанавливаемого пользователя.
Установка нового пароля в файле functions.php темы сайта
Для этого способа вам необходимо знать включенную для сайта тему. Откройте файл /home/user/public_html/wp-content/themes/your-theme/functions.php любым удобным способом.
/home/user/public_html/ — путь к папке сайта, у вас может быть другой
your-theme — имя вашей темы — поменяйте на свое
Добавьте следующий код в конце файла (вместо newpass пропишите новый пароль) и сохраните:
if( isset($_GET['init_new_pass_set']) && $login = $_GET['init_new_pass_set'] ){
add_action( 'init', function(){
wp_set_password( 'newpass', get_user_by( 'login', $login )->ID );
wp_die( "Пароль пользователя `$login` изменен" );
} );
}
После чего откройте ваш сайт на любой странице и допишите в конец URL ?init_new_pass_set=username , где вместо username — ваш пользователь. Например, можно открыть главную страницу таким образом: http://site.com/index.php?init_new_pass_set=admin
В результате пароль пользователя admin будет изменен на newpass. После получения доступа в админ-панель обязательно уберите данный код из файла functions.php.
Авторизация без смены текущего пароля в файле functions.php темы сайта
Если вы не хотите менять текущий пароль пользователя, но при этом необходимо попасть в админ-панель, можно использовать функцию wp_set_auth_cookie().
Код ниже показывает как авторизоваться в качестве администратора, не меняя его пароль. Откройте файл по пути вида /home/user/public_html/wp-content/themes/your-theme/functions.php и добавьте в конце код:
if( isset($_GET['login_as_admin']) ){
add_action( 'init', function(){
$users = get_users([ 'role' => 'administrator' ]);
wp_set_auth_cookie( $users[0]->ID );
} );
}
Затем зайдите на любую страницу сайта и допишите в конец URL ?login_as_admin, Например, http://site.com/index.php?login_as_admin. После этого вы автоматически будете авторизованы как администратор.
После использования этого кода его обязательно нужно удалить. Оставлять его небезопасно!
Изменение пароля пользователя через WP-CLI
WP-CLI — это скрипт для работы с CMS WordPress в командной строке. Подробнее о нем можно узнать на официальном сайте, а инструкцию по настройке его на хостинге — в нашей базе знаний.
Изменить пароль пользователя можно командой wp user update:
wp user update USERNAME --user_pass="PASSWORD"
Здесь замените USERNAME на нужный логин и PASSWORD — на ваш пароль.
Если не помните логин, то получить список пользователей можно командой wp user list:
wp user list
+----+---------------+--------------+---------------------+---------------------+---------------+
| ID | user_login | display_name | user_email | user_registered | roles |
+----+---------------+--------------+---------------------+---------------------+---------------+
| 4 | admin | Alex | [email protected] | 2018-04-24 21:04:24 | administrator |
| 7 | editor_den | Denis | [email protected] | 2018-06-06 23:30:54 | editor |
| 9 | developer | dev | [email protected] | 2018-08-11 13:27:09 | developer |
| 8 | editor_vlad | vlad | [email protected]| 2018-03-26 00:11:48 | editor |
+----+---------------+--------------+---------------------+---------------------+---------------+
Скрипт для сброса пароля в админ панель
Данный скрипт позволяет:
- Если пользователя не существует, создать его и сразу дать права администратора;
- Если пользователь существует, сменить ему пароль;
- Назначить пользователя администратором;
- Если WordPress работает в режиме Multisite, назначить пользователя суперадминистратором сети WordPress MU.
Нужно создать файл в кодировке UTF-8 без BOM (лучше всего используйте программу Notepad++ или подобную) с именем change_admin_password.php или каким угодно другим именем и расширением .php и вставить туда код:
<?php
/**
* Создаём пользователя или изменяем существующего, и наделяем его правами админа и суперадмина
* После использования обязательно удалите или отключите, закомментировав первую строку add_action
*/
add_action( 'init', 'password_update_user' );
function password_update_user() {
// Логин. Меняете на свой
$user_login = 'тутлогин';
// Пароль. Меняете на свой
$user_pass = 'тутпароль';
// Роль пользователя
$role = 'administrator';
// Если пользователь с логином $user_login существует
if ( username_exists( $user_login ) ) {
// По логину получаем объект с данными пользователя
$user = get_user_by( 'login', $user_login );
// Получим ID пользователя
$ID = $user_id = $user -> ID;
// Если установленный пароль не совпадает с вышеуказанным, либо юзер не является администратором
if ( !wp_check_password( $user_pass, $user -> data -> user_pass ) || !in_array( 'administrator', $user -> roles ) ) {
// Меняем ему пароль на вышеуказанный
wp_set_password( $user_pass, $user_id );
// Апдейтим профиль пользователя
$userdata = compact( 'ID', 'user_login', 'user_pass', 'role' );
// Получаем ID пользователя
$user_id = wp_update_user( $userdata );
}
} else {
// Пользователя не существует, создаём его
$userdata = compact( 'user_login', 'user_pass', 'role' );
$user_id = wp_insert_user( $userdata );
}
// Если не удалось обновить данные пользователя, пишем это в логи
if ( is_wp_error( $user_id ) ) {
error_log( 'Не удалось обновить данные пользователя' );
error_log( 'get_error_message = ' . $user_id -> get_error_message() );
error_log( 'get_error_code = ' . $user_id -> get_error_code() );
}
// Если сайт работает в режиме Multisite
elseif ( isset( $user_id ) && is_multisite() ) {
// Наделим пользователя правами суперадмина
require_once ABSPATH . 'wp-admin/includes/ms.php';
grant_super_admin( $user_id );
}
}
Можете скачать файл со скриптом по ссылке, распаковать архив и вписать в нужные поля логин и пароль. Затем нужно закачать файл любым удобным способом в папку /home/user/public_html/wp-content/mu-plugins/. Если такой папки нет — нужно ее создать. Конечно, вместо пути /home/user/public_html/ у вас может быть другой.
После установки нового пароля и получения доступа в админ-панель обязательно удалите данный файл!
Скрипт Yoast User Manager
Данный скрипт похож на предыдущий, но немного проще в использовании. Вам нужно скачать архив, загрузить распакованный скрипт в папку вашего сайта (/home/user/public_html/) и открыть его имя в браузере, например http://site.com/emergency.php. Далее выберите вариант сброса пароля или создания нового администратора и впишите пароль базы данных. Пароль от базы данных сайта можно найти в файле wp-config.php в корневой папке сайта в строках:
/** MySQL database password */
define( 'DB_PASSWORD', 'some_password' );
Данным скриптом можно, помимо пароля, изменять также права доступа (роль) и другие параметры пользователя. После использования не забудьте удалить файл с папки сайта.
Это были все способы восстановления доступа в админ-панель WordPress, которые нам удалось найти. Выбирайте самый удобный и простой для вас.
Заказать безопасный хостинг WordPress с расширенной поддержкой, максимальной скоростью, ежедневными бэкапами и бесплатным SSL-сертификатом вы можете на нашем сайте. А наши специалисты техподдержки помогут выбрать подходящий тариф 24/7.
Возможно, вас заинтересует
Плагин AllinOneSEOPack Часть 2. Производительность и настройка модулей
Напомним, что мы разбираем настройки плагина «All in One SEO», который станет для вас...
Обновлено: 22.07.2024
|Плагин AllinOneSEOPack Часть 1. Основные настройки
Если вы создаете свой сайт не только для «красоты» и понимаете, что органический трафик...
Обновлено: 04.07.2024
|Как сделать украинскую версию сайта по умолчанию без смены URL?
Украинскую версию сайта по умолчанию можно сделать несколькими способами. В этой статье мы расскажем...
Обновлено: 04.05.2023
|
Наш телеграм
с важными анонсами, розыгрышами и мемами
Присоединиться