Ко мне обратился клиент, который работал с другим разработчиком. Разработчик сделал сайт Wordpress на хостинге клиента, настроил шаблон и пропал. Прежде чем приступать к задачам, мне хотелось получить доступ к админке. Сделать это можно несколькими способами и вот один из них.
$userdata = [
'user_login' => 'admin2', // (string) Имя пользователя для входа в систему.
'user_pass' => 'admin_password',
'user_nicename' => 'admin', // (string) Имя пользователя, удобное для URL.
'user_url' => 'admin', // (string) URL пользователя.
'user_email' => 'admin@example.com', // (string) Адрес электронной почты пользователя.
'rich_editing' => 'true', // (string) Включать ли rich-редактор для пользователя.
'syntax_highlighting' => 'true', // (string) Включать ли подсветку синтаксиса для редактора кода.
'comment_shortcuts' => 'false', // (string) Включать ли клавиатурные сокращения для модерации комментариев для пользователя.
'admin_color' => 'fresh', // (string) Цветовая схема администратора для пользователя. По умолчанию 'fresh'.
'use_ssl' => 'false', // (string) Должен ли пользователь всегда получать доступ к админке по https.
'user_registered' => '', // (string) Дата регистрации пользователя. Формат - 'Y-m-d H:i:s'.
'show_admin_bar_front' => 'true', // (string) Отображать ли панель администратора для пользователя на лицевой стороне сайта.
'role' => 'administrator', // (string) Роль пользователя.
];
wp_insert_user( $userdata );
Функция wp_insert_user() принимает и другие данные, но они не обязательны. Чтобы получить доступ этого достаточно.
Сохраняю код в конце файла wp-load.php
Открываю любую страницу, затем комментирую новый код, чтобы не создавать лишних нагрузок. Код не сможет выполниться повторно, потому что логин должен быть уникальным.
Логинимся на /wp-admin/.
<embed alt="wp-login" embedtype="image" format="fullwidth" id="5"/>