11 способів відновлення забутого пароля адміністратора WordPress

post thumbnail

Якщо ви з якихось причин не знаєте правильний пароль в в адмін-панель вашого WordPress-сайту – не біда. Є багато способів, щоб його скинути і встановити новий.

Відновлення пароля по email

Перейдіть на сторінку входу в адмін-панель, зазвичай вона знаходиться за посиланням виду https://site.com/wp-admin, і натисніть на “Забули пароль?”

Відновлення пароля користувача через WordPress

Після цього пропишіть email, до якого прив’язаний ваш обліковий запис. На вказану адресу прийде лист з посиланням на встановлення нового пароля. Звичайно, такий спосіб підходить тільки в разі, якщо ви використовували реально існуючу електронну адресу під час налаштування вашого профілю адміністратора.

Встановлення нового пароля в phpMyAdmin

Відкрийте панель управління хостингом/сервером і знайдіть там пункт phpMyAdmin. Зазвичай він розташований в розділі Бази даних, MySQL або схожому. В панелі cPanel кнопка переходу виглядає так:

База даних phpMyAdmin

Ось де знаходиться посилання в панелі ISPmanager 6:

Посилання на phpMyAdmin в ISPmanager 6

І в панелі Control Web Panel:

phpMyAdmin в Control Web Panel

Після входу в phpMyAdmin важливо вибрати правильну базу, яка підключена до сайту. Якщо ви не знаєте, яка база вам потрібна, то відкрийте файл wp-config.php в директорії вашого сайту будь-яким зручним способом.

Файл wp-config.php в папке вашего сайта

Виберіть потрібну базу і таблицю. Таблиця буде називатися prefix_user, де замість prefix_ – значення префікса з файлу wp-config.php. За замовчуванням використовується префікс wp_. Виберіть таблицю і напроти потрібного вам користувача натисніть Змінити.

Таблиця prefix_user в phpMyAdmin

У рядку user_pass в поле Значення вкажіть ваш новий пароль. Обов’язково використовуйте складну комбінацію, створену в генераторі паролів. В поле Функція виберіть MD5. І натисніть внизу кнопку Вперед.

Рядок user_pass в phpMyAdmin

Зміна пароля в Softaculous

Цей спосіб підходить, якщо ви встановлювали WordPress за допомогою автоінсталлера скриптів Softaculous. Щоб встановити новий пароль до адмін-панелі, перейдіть в cPanel сайта, розділ Програмне забезпечення.

Автоінсталлер скриптів Softaculous

Далі натисніть Installations і виберіть редагування потрібної вам інсталяції.

Розділ Installations в автоінсталлері скриптів Softaculous

Прокрутіть сторінку налаштувань донизу, до пункту Admin Account, вкажіть ім’я користувача і пароль і збережіть кнопкою внизу сторінки.

Створення облікаового запису адміна в Softaculous

SQL-запит до бази даних через phpMyAdmin

Можна просто виконати запит до бази даних через панель запитів в 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' );

Створення нового адміністратора і  пароля бази даних

Відновлення пароля адміна в Yoast User Manager

Цим скриптом можна, окрім пароля, змінювати також права доступу (роль) та інші параметри користувача. Після використання не забудьте видалити файл з папки сайту.

Це були всі способи відновлення доступу в адмін-панель WordPress, які нам вдалося знайти. Вибирайте найзручніший і найбільш простий для вас.

Замовити безпечний хостинг WordPress з розширеною підтримкою, максимальною швидкістю, щоденними бекапами та безкоштовним SSL-сертифікатом ви можете на нашому сайті. А наші спеціалісти техпідтримки допоможуть обрати потрібний тариф 24/7.

Telegram Hostpro

Наш телеграм

з важливими анонсами, розіграшами й мемами

Приєднатися

Можливо, вас зацікавить

Як виправити код мови в URL з uk на ua у WPML? 

Як виправити код мови в URL з uk на ua у WPML? 

Загальноприйнято, що для URL української версії сайту використовується код “ua”. Однак у налаштуваннях WPML...

Diana Honcharenko | Оновлено: 05.05.2023

Як зробити українську версію сайту за замовчуванням без зміни URL?

Як зробити українську версію сайту за замовчуванням без зміни URL?

Українську версію сайту за замовчуванням можна зробити кількома способами. У цій статті ми розповімо...

Diana Honcharenko | Оновлено: 04.05.2023

Як створити дочірню тему WordPress? 

Як створити дочірню тему WordPress? 

Дочірня тема WordPress, або підтема – додаткова тема, яка створюється на основі батьківської готової...

Diana Honcharenko | Оновлено: 14.04.2023

Реєстрація і завантаження WPML

Реєстрація і завантаження WPML

WPML – платний плагін для створення мультимовних сайтів на WordPress. У цій статті зʼясуємо,...

Diana Honcharenko | Оновлено: 30.01.2023