WordPressで管理人アカウントを削除したときの対処

Pocket

とあるプラグインを作っていて、wp_delete_user()を乱用していたら、管理人用アカウントが削除されてしまった。そんあときの対処法をメモ。

状況

自分の場合、

  • 管理人アカウントでログインできない
  • メールで再設定しようにも、アカウントが削除されているためできない
  • 他のアカウント情報もわからない/全て削除されている

という状態だった。

対処法

  1. wp-config.phpを参考に、データベースにアクセスする。userとpasswordでdbにアクセスできるはず。
  2. ***_users に、新しくユーザーを作る。わかり易いIDにする(1とか)。***_は$table_prefixの値。 例:
    INSERT INTO `your_db_name`.`***_users` (`ID` ,`user_login` ,`user_email` )
    VALUES ('1', 'admin', 'your-email@some-domain.com');
  3. ***_usermetaに、meta_key : ‘***_capabilities’, meta_valueに
    a:1:{s:13:"administrator";s:1:"1";}

    を入れる。ちなみにこれは administrator=1 をarrayに入れてserialize()したもの。

  4. 再度、wp-login.php →パスワード忘れで、上記でdbに入れたメールアドレスを入力
  5. メールを確認し、パスワードを再設定する
  6. wp-admin→ユーザー から、諸々ユーザー設定を入力する

この記事を書いた人