とあるプラグインを作っていて、wp_delete_user()を乱用していたら、管理人用アカウントが削除されてしまった。そんあときの対処法をメモ。
状況
自分の場合、
- 管理人アカウントでログインできない
- メールで再設定しようにも、アカウントが削除されているためできない
- 他のアカウント情報もわからない/全て削除されている
という状態だった。
対処法
- wp-config.phpを参考に、データベースにアクセスする。userとpasswordでdbにアクセスできるはず。
- ***_users に、新しくユーザーを作る。わかり易いIDにする(1とか)。***_は$table_prefixの値。 例:
INSERT INTO `your_db_name`.`***_users` (`ID` ,`user_login` ,`user_email` ) VALUES ('1', 'admin', 'your-email@some-domain.com');
- ***_usermetaに、meta_key : ‘***_capabilities’, meta_valueに
a:1:{s:13:"administrator";s:1:"1";}
を入れる。ちなみにこれは administrator=1 をarrayに入れてserialize()したもの。
- 再度、wp-login.php →パスワード忘れで、上記でdbに入れたメールアドレスを入力
- メールを確認し、パスワードを再設定する
- wp-admin→ユーザー から、諸々ユーザー設定を入力する