Black Friday! Даруємо до 3 місяців вашого тарифу VPS!

Детальніше

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

post thumbnail

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

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

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

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

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

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

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

Відновлення пароля WordPress через phpMyAdmin | Wiki HostPro

В панелі Control Web Panel:

Відновлення пароля WordPress через phpMyAdmin | Wiki HostPro

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

Відновлення пароля для WordPress | Wiki HostPro

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

Відновлення пароля для WordPress | Wiki HostPro

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

Зміна паролю від WordPress через phpMyAdmin | Wiki HostPro

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

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

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

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

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

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

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

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

Можна просто виконати запит до бази даних через панель запитів в phpMyAdmin. Для цього потрібно знати ім’я бази даних і логін адміністратора, якому ви хочете скинути пароль.

Запит до бази даних через панель запитів в phpMyAdmin | Wiki HostPro

В консоль потрібно вставити такий код:

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 | Wiki HostPro

Способи відновлення паролю до WordPress | Wiki HostPro

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

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

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

Telegram Hostpro

Наш телеграм

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

Приєднатися

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

Плагін AllinOneSEOPack Частина 2. Продуктивність та налаштування модулів

Плагін AllinOneSEOPack Частина 2. Продуктивність та налаштування модулів

Нагадаємо, що ми розбираємо налаштування плагіну «All in One SEO», який стане для вас...

Ruslan Holovatiuk | Оновлено: 22.07.2024

Плагін AllinOneSEOPack Частина 1. Основні налаштування

Плагін AllinOneSEOPack Частина 1. Основні налаштування

Якщо ви створюєте свій сайт не тільки для «краси» і розумієте, що органічний трафік...

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

Огляд преміумтеми Divi

Огляд преміумтеми Divi

"Divi від Elegant Themes – один з кращих преміумшаблонів WordPress", – у такій думці...

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

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

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

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

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