Written by TSUYOSHI

WordPress管理者のユーザー名・パスワードがわからない時の対処方法

WordPress

本記事では、WordPressで管理者のIDやパスワードがわからなくなった時の対処方法について解説します。

本記事の内容

  • WordPress管理者のユーザー名・パスワードがわからない時の対処方法
    1. パスワードのみ分からなくなった時の対処方法
    2. データベースの操作が可能な時の対処方法
    3. FTPなどでサーバ操作が可能な時の対処方法

本記事を読むことによって、WordPressのログインができなくなり、管理者のユーザー名・メールアドレス、パスワードのすべてがわからない場合まで、問題解決できるようになります。

Web制作で管理を引き継いだ時に管理者のID・メールアドレスも分からないということがたまにあると思います。以前の製作者が廃業するなどして連絡が取れないなどの理由で困る場合で、そういった時の解決方法を解説しています。

WordPress管理者のユーザー名・パスワードがわからない時の対処方法

以下の3パターンに分けて、対応方法を解説します。1は誰でも対応可能で、2以降はエンジニアの対応が必要です。

  1. パスワードだけわからない
    ※ユーザー名・メールアドレスはわかる
  2. DB操作可 & ユーザー名・メールアドレス、パスワードが分からない
    ※データベース操作は可能
  3. サーバ操作可 & ユーザー名・メールアドレス、パスワードが分からない
    ※データベース操作不可で、サーバ操作は可能

1. パスワードのみ分からなくなった時の対処方法

多くの場合はこのケースではないかと思います。プログラムを触らずに解決できます。

ログイン画面の「パスワードをお忘れですか?」からパスワードをリセットする方法になります。

該当する管理者のメールアドレスがきちんと設定されており、メールアドレスが受信できる時には、パスワードリセットをすればよいだけなので、簡単に解決できます。

対応手順

1.管理者のログイン画面にアクセスします。通常は /wp-admin にアクセスすればよいかと思います。

2.「パスワードをお忘れですか?」をクリックします。

3.「ユーザー名またはメールアドレス」に「ユーザー名」か「メールアドレス」を入力して、「新しいパスワードを取得」をクリックすると、管理者のメールアドレスにメールが送信され、パスワードのリセットが可能です。

もしメールアドレスにリセットのメールが届かない(管理者のメールアドレスが違う可能性がある)場合は、次の方法で試していきます。

2. データベースの操作が可能な時(ID・メールアドレスが分からない)の対処方法

phpMyAdminを使って解決する方法を解説します。

データベース上で、管理者のメールアドレスを受信できるアドレスに変更して、ログイン画面から「パスワードをお忘れですか?」でパスワードリセットする方法です。

以下の場合に対応できる方法です。

・ユーザー名・メールアドレス、パスワードが分からない
・データベースの操作はできる

ここからはデータベースの操作をするため、エンジニアでない方は、可能なら誰かエンジニアに頼むようにしましょう。

こういった事態が発生するのは、多くのケースではレンタルサーバを利用していると思うので、phpMyAdminが利用できると思います。phpMyAdminを使わず直接MySQLを操作する場合は読み替えてください。

データベースに接続するための情報はWordPressが設置されているディレクトリの「wp-config.php」に書かれています。
define( 'DB_NAME', 'xxxxxx'); →データベース名
define( 'DB_USER', 'xxxxxx'); →ID
define( 'DB_PASSWORD', 'xxxxxx'); →パスワード

また、プレフィックスも確認します。通常は「wp_」になっていると思います。
$table_prefix = 'wp_';

phpMyAdminへアクセスし、IDとパスワードを使ってログインします。

ログインしたら先ほど確認したデータベース名を探してクリックします。

「構造」タブが表示され、「wp_users」(プレフィックスがwp_の場合)の「表示」(Browse)をクリックします。

ユーザー名やメールアドレスの情報が表示されます。


user_login →ユーザー名
user_email →メールアドレス
となります。
user_pass(パスワード)は表示されていますが、暗号化されているため、解読できなく確認することはできません。

ちなみに、もしこの時点で、メールアドレスが受信できるアドレスだと判明したら、最初に紹介したログイン画面の「パスワードをお忘れですか?」からリセットすることが可能です。

複数のユーザが存在するとき、だいたいの場合は、IDが「1」のユーザが管理者ユーザーであることが多いです。

メールアドレスを書き換えてパスワードリセットする

管理者と思われるユーザーについて、「編集」から「user_email」を受信できるメールアドレスに書き換えます。

そして、最初に紹介したログイン画面の「パスワードをお忘れですか?」からリセットすれば管理者でログインできるようになります。

他のユーザーでログインができている場合の対応

もしほかのユーザーでログインができているなら、メールアドレスを変えずに、そのユーザーのパスワードをコピーして「編集」から管理者のパスワードに貼り付けして、データベースの内容を書き換えることも可能です。
そうすれば、その管理者のユーザー名と書き換えたパスワードでログインができるようになります。

3. FTPなどでサーバ操作が可能な時(ID・メールアドレスが分からない & データベース操作不可)の対処方法

functions.php を書き換えて新しい管理者ユーザーを強制的に作り出す方法です。

以下の状況を想定しています。

・ユーザー名・メールアドレス、パスワードが分からない
・データベースを操作できない
・サーバーだけはアクセス可能

こういった場合は、テーマファイルのfunctions.phpを直接いじって、管理者ユーザーを強制的に一時的に作成します。
functions.php に以下の記述をします。

function hoge_create_admin() {
	if (!empty($_GET['hoge_fuga_foo_create_admin'])) {
		$userdata = array(
			'user_login' => 'hogehoge', //作成したい管理者ユーザのユーザ名
			'user_pass' => 'hoge1234fuga', //作成したい管理者ユーザのパスワード
			'user_email' => 'info@example.com', //作成したい管理者ユーザのメールアドレス
			'role' => 'administrator',
		);
		$result = wp_insert_user( $userdata ) ;
		var_dump( $result );
		die;
	}
}
add_action( 'init', 'hoge_create_admin' );

user_loginuser_passuser_emailをご自身のものに変更します。

設定したURLにブラウザでアクセスして作成完了

getパラメータの「hoge_fuga_foo_create_admin」部分は長めの文字列で任意に置き換え可能です。一般ユーザがアクセスすることはほぼあり得ないですが、getパラメータ付きのURLにアクセスする方法になるので、長めにしておきます。

http(s)://(サイトのURL)?hoge_fuga_foo_create_admin=1 でアクセスします。(値は1でも何でもいいので何か入れる)

init(3) などの表示がされると思います。これで管理者ユーザーの作成は成功です。

もし失敗する場合はユーザー名かメールアドレスを再度書き換える

もし失敗する場合は、「ユーザー名が既に存在する」か「メールアドレスが既に存在する」場合だと思うので、user_loginやuser_emailを別のものに書き換えて再度、試して見てください。

成功したら、作成したユーザー名とパスワードでログインします。

作成したユーザー名とパスワードでログインすると管理者ユーザが作れていることが確認できるかと思います。

ログインが成功したら、functions.php に先ほど記載した記述はすぐに削除してください。残したままにするのはNGです。

実際に記事執筆時に、WordPress 5.4.1で対応してみたら可能でした。
ちなみに僕は実務で実際にこの方法で管理者ユーザーを作って対応した経験もあります。

まとめ

  • 1. パスワードのみ分からなくなった時
    →管理画面のログインページで「パスワードをお忘れですか?」からパスワードリセット
  • 2. データベースの操作が可能な時
    (ID・メールアドレスが分からない)
    →データベースで管理者のメールアドレスを受信できるアドレスに書き換え
    →「パスワードをお忘れですか?」からパスワードリセット
  • 3. FTPなどでサーバ操作が可能な時
    (ID・メールアドレスが分からない & データベース操作不可)
    →functions.phpにコードを書いて、新しい管理者ユーザを作る
    →作成した管理者ユーザー名・パスワードを使ってログイン

ご参考になれば幸いです。

本記事で参考にした記事
http://wordpress.ad5.jp/column/salvage-wordpress-admin/

※当サイトでは一部のリンクについてアフィリエイトプログラムを利用して商品を紹介しています