様々なサイトの制作や管理をしていると、「FTPには接続できるが、WordPress管理画面へのID/PWがわからない」ことがたまにありませんか?理由は様々だと思いますが、そんなときに役に立つかもしれないのが以下の内容です。
ログインユーザーの登録
FTPでアクセスして、適用されているテーマフォルダ内の header.php に、以下のコードを挿入します。IDやパスワードは、適宜書き換えてください。
<?php // 設定 $user_login = 'admin'; // ログインID $user_pass = 'password'; // ログインパスワード $user_email = 'hoge@example.com'; // メールアドレス $role = 'administrator'; // 権限を管理者に // ログインユーザーの登録 if (!username_exists($user_login)) { $data = array( 'user_login' => $user_login, 'user_pass' => $user_pass, 'user_email' => $user_email, 'role' => $role ); wp_insert_user($data); } ?>
このコードを一言でいうと、「テンプレートファイルからMySQLにアクセスして、新しいログインユーザーを登録しちゃおう」という内容です。
コードを追加後、サイトにアクセスすると、指定したログインユーザーが追加されます。実行後はコードを削除して、今回新規追加したID/PWでWordPressにログインすればOKです。
ちなみに、wp_insert_userは、「指定されたユーザーIDが存在しなければ新規追加、既に存在すれば上書き更新するもの」です。結構乱暴な方法です。
上記のコードはusername_existsの判定で「既にユーザー登録があれば何もしない」という上書き回避の設定はしてありますが、取り扱いには十分注意してくださいね。