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
|Огляд преміумтеми Divi
"Divi від Elegant Themes – один з кращих преміумшаблонів WordPress", – у такій думці...
Оновлено: 11.06.2024
|
Наш телеграм
з важливими анонсами, розіграшами й мемами
Приєднатися