Порой возникает ситуация, когда пароль от панели администратора в WordPress забывается или теряется, либо же вы занимаетесь чужим сайтом, и нужно восстановить доступ в админку. Ниже будет рассказано о паре способах, как быстро поменять пароль администратора или пользователя в Вордпресс.
- Самый простой способ сменить пароль админа WordPress, дать права админа и суперадмина
- Как восстановить доступ с помощью phpMyAdmin
- Как изменить пароль существующему пользователю
- Как добавить нового администратора
- Как добавить админа WordPress с помощью SQL
- Как изменить пароль пользователю, если нет доступа к phpMyAdmin
Самый простой способ сменить пароль админа WordPress, дать права админа и суперадмина
Этот способ — самый простой вариант, который позволит:
- Если пользователя не существует, создать его и сразу дать права админа;
- Если пользователь существует, сменить ему пароль;
- Назначить пользователя администратором (administrator);
- Если WordPress работает в режиме Multisite, назначить пользователя суперадминистратором (superadmin) сети WordPress MU.
Создаём строго в кодировке UTF-8 без BOM (например, в Notepad++) mu-plugin (вкратце — /wp-content/mu-plugins/sheensay_change_admin_password.php), либо пишем в functions.php (в этом случае пропускаем первую строку с ?php)
<?php
/**
* Создаём пользователя или изменяем существующего, и наделяем его правами админа и суперадмина
* После использования обязательно удалите или отключите, закомментировав первую строку add_action
* @link https://sheensay.ru/?p=1452
*/
add_action( 'init', 'sheensay_update_user' );
function sheensay_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 );
}
}
Внесите в значение переменной
$user_loginнужный логин,$user_pass— нужный пароль.
Пароль желательно собрать из букв латиницы разного регистра (больших и маленьких) и цифр. Спецсимволы не используйте, с ними пароль не установится. Когда получите доступ к панели администратора, сможете установить оттуда пароль со спецсимволами.
Теперь пробуйте авторизоваться в панели администратора http://example.com/wp-admin/ с логином и паролем, которые вы указали в соответствующих переменных.
После успешной авторизации в панели админа обязательно сделайте следующее:
- Удалите из
/mu-plugins/файлsheensay_change_admin_password.phpили вышеуказанный код из functions.php, если не сделали этого ранее; - Смените пароль на сложный, если в
$user_passвы указали что-то простое.
Оба пункта выполнять обязательно, так как код создаёт ненужную нагрузку, а простой пароль — потенциальная дыра в безопасности!
Помните, что по статистике большинство взломов сайтов — из-за простого легкоподбираемого пароля
Как восстановить доступ с помощью phpMyAdmin
Имя доступ к phpMyAdmin, можно быстро создать своего пользователя или же изменить пароль от существующего. Для этого вы проводите следующие манипуляции

- Заходите в панель управления phpMyAdmin
- Находите там свою базу данных
- Ищете таблицу
wp_usersи открываете её
Вот тут хочу привлечь ваше внимание. Посмотрите в вашу базу данных, а именно на префиксы таблиц. По умолчанию, таблицы имеют префикс
wp_. Если у вас он другой, например,rp_, то и все команды далее вы должны поменять соответственно под ваш префикс везде без исключения, т.е., к примеру, использовать неwp_capabilities, аrp_capabilities, и так далее. Если таблиц много, и вы не уверены, какой префикс верный, загляните в файлwp-config.phpв корне вашего сайта, он будет обозначен в конце в переменной$table_prefix = 'wp_';. Также, будьте внимательны к регистру букв,ABС_capabilitiesиabc_capabilities— это разные таблицы с точки зрения вордпресс
Дальше всё зависит от ваших потребностей: либо у вас уже есть пользователь, и нужно просто изменить ему пароль, либо нужно создать отдельный аккаунт с правами администратора. Как — описано дальше.
Как изменить пароль существующему пользователю
- В таблице
wp_usersнаходите нужный аккаунт —Изменить
Список пользователей WordPress
- В открывшемся окне ищем строку
user_pass. В ней в столбцеФункцияв выпадающем списке надо выбратьMD5, а в столбцеЗначениеввести новый пароль
Устанавливаем новый пароль для пользователя
Это всё, пароль изменён, доступ к админке с помощью этого аккаунта восстановлен. Если нет, пройдитесь по всем пунктам внимательнее. Если всё же не помогло — пишите в комментариях, решим вопрос
Как добавить нового администратора
Далее будет инструкция, как добавить нового пользователя с правами администратора. Для этого нам придётся провести 3 несложных запроса к базе данных и, при этом, быть внимательными.
- Открываем таблицу с пользователями
wp_users. В ней на вкладкеОбзормы видим список текущих пользователей.
Список текущих пользователей
Пока что, у нас только 1 пользователь с логином
adminиID = 1 - Теперь мы добавим своего нового пользователя с правами админа, так как по тем или иным причинам не можем пользоваться текущим (или его не существует). Придумаем ему логин
test. ID зададим равным 2, руководствуясь принципом — самый большой ID среди всех пользователей +1.
Переходим на вкладкуВставить
Добавляем нового пользователя
ID— вводим сюда ID нового пользователяuser_login— логинuser_pass— пароль. Не забываем добавить функциюMD5user_nicename— никнеймuser_email— email пользователя. На него приходят уведомленияuser_url— ссылка на сайт пользователя. Не обязательноuser_registered— дата регистрации пользователяuser_status— статус пользователя. Выставляете 0display_name— отображаемое имя пользователя. На ваш вкус- После заполнения полей отправляете запрос — жмёте
OK
В результате увидите, что запрос успешно выполнен
Новый пользователь успешно добавлен
А в таблице
wp_usersпоявился наш пользователь
Но, не спешите радоваться. Если вы на данном этапе попробуете авторизоваться под свежим аккаунтом, то наткнётесь на ошибку:
У вас недостаточно полномочий для доступа к этой странице.
Это значит, что для данного пользователя не выставлены нужные права. И этим сейчас мы и займёмся. - Переходим в таблицу
wp_usermeta, вкладкаВставитьи заполняем поля:
Добавляем пользователю права администратора
umeta_id— оставляем пустымuser_id— вводим ID нашего пользователя. В моём случае2meta_key— вводимwp_capabilities. Это ключ к правам пользователяmeta_value— вставляете без измененийa:1:{s:13:"administrator";s:1:"1";}— это сериализованная строка с правами администратора
- И последний штрих — снова переходим во вкладку
Вставитьтаблицыwp_usermetaumeta_id— оставляем пустымuser_id— вводим ID нашего пользователя. В моём случае2meta_key— вводимwp_user_level. Ключ к уровню доступа пользователяmeta_value— вставляете10— наивысший уровень
Всё, теперь всё готово, можете авторизовываться в админпанели и пользоваться. Если что-то не сработало — пройдитесь снова по всем пунктам, как правило, проблема кроется в невнимательности. Если всё же не сработало — пишите в комментариях, разберёмся
Как добавить админа WordPress с помощью SQL
Выжимка на SQL для тех, кому лень возиться с phpMyAdmin.
Нужно заменить в тексте db на имя вашей базы данных, значение ID на ваше.
По умолчанию, в базу db с префиксом таблицwp_ будет добавлен администратор под ником и логином test, ID=2 и паролем 111
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', 'test', MD5('111'), 'test', '[email protected]', '', '2016-04-25 00:00:00', '', '0', 'Test');
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');
Как изменить пароль пользователю, если нет доступа к phpMyAdmin
Если есть доступ к SSH или FTP, но нет к phpMyAdmin, вы можете воспользоваться следующим вариантом.
Открываете каталог (если не существует, создаёте) /wp-content/mu-plugins/. (Подробнее про mu-plugins и WordPress MU)
В нём создаёте файл с любым названием, например, change_password.php, а внутрь этого файла записываете код
<?php
add_action( 'init', 'sheens_set_new_password' );
function sheens_set_new_password() {
$_ = get_user_by( 'login', 'логин' ); // тут вы записываете логин пользователя, которому нужно жёстко прописать пароль
wp_set_password( 'пароль', $_->ID ); // тут вы записываете новый пароль
}
Не забудьте сменить логин и пароль на Ваши
После этого сохраняете всё и авторизуетесь на сайте под этим пользователем.
Как только вам удалось авторизоваться после этой манипуляции, тут же удалите файл
change_password.php, так как он будет создавать ненужную нагрузку на сайт, сбрасывая пароль при каждом посещении сайта.

Свежие комментарии