8 способов изменить пароль в WordPress
В WordPress можно восстанавливать и изменять пароль пользователя, если у вас есть доступ к email пользователя или вы уже авторизованы. А как поменять (установить пароль) любому пользователю если вы не знаете пароль администратора? Ниже рассмотрим разные варианты изменения пароля для разных ситуаций.
Главное помните — всегда нужно указывать надежный пароль!
Узнать пароль пользователя WordPress невозможно, потому что пароли хранятся в БД в закодированном виде (в виде хэша) и единственный способ узнать пароль по хэшу — это его угадать. Такой подбор паролей называется Брут-форс.
Пароль хранится в базе данных в поле user_pass
таблицы wp_users
.
Авторизация — PHP
Чтобы не изменять пароль пользователя, но при этом попасть в админку, можно использовать функцию wp_set_auth_cookie().
Код ниже показывает как авторизоваться в качестве администратора не меняя его пароль.
Вставьте код в файл темы functions.php. Затем зайдите на любую страницу сайта и допишите в конец URL ?login_as_admin
. После этого вы автоматически будите авторизованы как администратор.
if ( isset( $_GET['login_as_admin'] ) ) { add_action( 'init', function () { $users = get_users( [ 'role' => 'administrator' ] ); wp_set_auth_cookie( $users[0]->ID ); wp_safe_redirect( remove_query_arg( 'login_as_admin' ) ); exit; } ); }
После использования этого кода, его обязательно нужно удалить!
Более продвинутый вариант кода выше:
/** * Примеры: * https://example.com?login_as=admin * https://example.com?login_as=124 * https://example.com?login_as=user-test@gmail.com */ new class { private string $query_val; private string $query_key = 'login_as'; public function __construct() { $this->query_val = $_GET[ $this->query_key ] ?? ''; if ( $this->query_val && wp_get_environment_type() === 'local' ) { add_action( 'init', [ $this, 'init' ] ); } } public function init(): void { if ( 'admin' === $this->query_val ) { $users = get_users( [ 'role' => 'administrator', ] ); $this->set_user_and_redirect( $users[0] ?? false ); } if ( is_numeric( $this->query_val ) ) { $user = get_user_by( 'id', $this->query_val ); $this->set_user_and_redirect( $user ); } if ( is_email( $this->query_val ) ) { $user = get_user_by( 'email', $this->query_val ); $this->set_user_and_redirect( $user ); } } /** * @param WP_User|false $user */ private function set_user_and_redirect( $user ): void { if ( empty( $user->ID ) ) { wp_die( 'Указанного пользователя не существует' ); } wp_set_auth_cookie( $user->ID ); wp_safe_redirect( remove_query_arg( $this->query_key ) ); exit; } };
Смена пароля — профиль в админке
Если вы авторизованы, то пароль можно изменить на странице профиля Пользователи → Ваш профиль
. Если вы при этом еще и администратор, то пароль можно изменить любому пользователю, перейдя в редактирование пользователя со страницы Пользователи → Все пользователи
.

Смена пароля — email (восстановление пароля)
Если вы забыли пароль, но у вас есть доступ к email пользователя, то пароль можно восстановить. Для этого нужно:
- Перейти на страницу Входа:
/wp-login.php
. - Кликнуть по ссылке «Забыли пароль?».
- Ввести email или имя пользователя, пароль для которого нужно восстановить.
- Перейти по ссылке на восстановление пароля, полученной на email (если указали имя пользователя, то нужно проверить email соответствующий имени пользователя).
- Ввести новый пароль в форме на которую вы попали кликнув по ссылке в письме.
- Войти на сайт используя новый пароль.

Смена пароля — phpMyAdmin
Почти все хостинг провайдеры предоставляют доступ к phpMyAdmin — панель управления базой данных.
Там установить пароль любого пользователя очень просто. Для этого нужно зайти в таблицу wp_users
и нажать «редактировать» (иконку карандаша) рядом с пользователем, пароль которого хотите поменять. В результате вы увидите такую форму:

Измените хэш код в поле user_pass
на новый пароль. И обязательно укажите MD5
для установленного значения (так введенный текстовый пароль будет захэширован и WP сможет его потом «распознать»).
Заметка: при первой авторизации MD5 хэш автоматически будет изменен на более надежный хэш, который используется в вашей версии WordPress.
Смена пароля — MySQL
Для установки нового пароля можно использовать SQL запрос.
Пример ниже, показывает как сменить пароль администратора WordPress, зная его логин. Тут новый пароль будет — newpass
, а логин администратора — admin
:
UPDATE wp_users SET user_pass = MD5('newpass') WHERE user_login = 'admin'
Если вдруг вы забыли логин, но точно помните, что вы были первым юзером на блоге, а значит ваш ID равен 1, то можно сбросить пароль по ID — WHERE ID = 1
:
UPDATE wp_users SET user_pass = MD5('newpass') WHERE ID = 1;
Или можно сменить пароль зная email юзера:
UPDATE wp_users SET user_pass = MD5('newpass') WHERE user_email = 'adminko@gmail.com';
MD5('newpass') = e6053eb8d35e02ae40beeeacef203c1a
Пример запуска MySQL запроса из консоли
Для начала нужно зайти в консоль и подключиться к БД, такой командой:
mysql -u USERNAME -pPASSWORD -h HOST_NAME_OR_IP DATABASE_NAME
или без указания хоста (если вы работает в консоли из среды самого хостинга)
mysql -u USERNAME -pPASSWORD DATABASE_NAME
Далее, нужно запустить вышеупомянутый запрос, так:
mysql> UPDATE wp_users SET user_pass = MD5('newpass') WHERE user_login = 'admin';
Чтобы узнать название таблиц в базе данных my_database
, используйте команду:
mysql> SHOW TABLES IN my_database; +---------------------------+ | 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 | +----------------+ | abalak | | AbamFaw | | admin | +----------------+
Смена пароля — PHP
Новый пароль можно установить PHP кодом, с помощью функции wp_set_password().
Вставьте следующий код в файл темы functions.php. Затем зайдите на любую страницу сайта и допишите в конец URL ?init_new_pass_set=anton
.
В результате пароль пользователя anton
будет изменен на newpass
.
if( isset( $_GET['init_new_pass_set'] ) && $login = $_GET['init_new_pass_set'] ){ add_action( 'init', function() use ( $login ){ wp_set_password( 'newpass', get_user_by( 'login', $login )->ID ); wp_die( "Пароль юзера `$login` изменен" ); } ); }
После использования этого кода, его обязательно нужно удалить!
Смена пароля — WP-CLI
Установить пароль пользователя можно командой wp user update.
Этот пример показывает как для пользователя с логином USERNAME
установить пароль PASSWORD
:
wp user update USERNAME --user_pass="PASSWORD"
Получить список пользователей (чтобы узнать логин) можно командой wp user list:
wp user list +----+---------------+--------------+---------------------+---------------------+---------------+ | ID | user_login | display_name | user_email | user_registered | roles | +----+---------------+--------------+---------------------+---------------------+---------------+ | 4 | aleksej-nnn | Alex | alsey119@yandex.ru | 2018-04-24 21:04:24 | administrator | | 7 | denis | Denis | deis@denis.pro | 2018-06-06 23:30:54 | subscriber | | 9 | shk_user | shk_user | sheer@qsologies.com | 2018-08-11 13:27:09 | subscriber | | 8 | vladlu | vladlu | spata@famail.com | 2018-03-26 00:11:48 | editor | +----+---------------+--------------+---------------------+---------------------+---------------+
Сброс паролей — WP-CLI
Можно установить авто-сгенерированные пароли для указанных пользователей, для этого есть команда wp user reset-password.
Этот пример показывает как сбросить пароль для двух пользователей и отправить им сообщение о том что пароль был изменен.
wp user reset-password admin editor Reset password for admin. Reset password for editor. Success: Passwords reset.
Пользователь в результате получит такое сообщение на почту: