WordPressの管理画面外からユーザーを追加する。
webページの内容の変更をしたいと思ったらwordpressで構築されており、管理者のパスワードがわからないし、管理者のメールアドレスは受信できないよーという場合、新しい管理者を追加してしまうのが良いでしょう。
その場合、Wordpressの管理画面外からユーザーを追加する…つまりデータベースを直接操作してユーザーを追加できます。 滅多にない案件なので、覚書しておきます。
条件として、ターゲットになるwordpressが入っているサーバーにアクセスできるというのが条件です。
①データベースの管理システムにアクセス
サーバーにphpMyAdminなどのデータベースを管理できるシステムを利用してデータベースにアクセス。
レンタルサーバーを利用している場合、管理できるシステムが導入済だったりなかったりします。
今回お名前共有だったため自力で導入する必要がありましたが、お名前のヘルプに導入方法が載せられています。
ターゲットとなるwordpressのデーターベースの確認は、wp-config.phpに書かれています。サーバーの管理画面に入れるならそれでもOK。お名前ならそこで確認とれます。
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'xxxxxxxxxxxxxx');
/** MySQL database username */
define('DB_USER', 'aaaaaaaaaaa');
/** MySQL database password */
define('DB_PASSWORD', 'bbbbbbbbbbbb');
/** MySQL hostname */
define('DB_HOST', 'xxxxxxxxxxxxxx.cgidb');
②データベースにユーザーを追加
会員情報を追加するために必要なテーブルは wp-usersとwp-usermeta
まず、wp-usersでユーザーを追加するとIDが割り振られる。
割り当てられたところで、詳細を入力
ID ※自動で割り振り
user_login
user_pass ※MD5を選択(入力したパスワードがMD5で暗号化される。つまりデータベースを見てもパスワードを知ることができない)
user_email
次に、wp-usersで割り振られたIDに対して、wp-usermeta内のテーブルに情報を追加
すべてのテーブルをコピーする必要はない。今回は下記の部分だけ追加しログインできた。
wp_dashboard_quick_press_last_post_id
dismissed_wp_pointers
wp_capabilities ※ユーザーレベル 管理者→a:1:{s:13:"administrator";b:1;}
wp_user_level ※ユーザーレベル 管理者→10
nickname
※wp-usersだけ追加してログインすると、システム上ユーザーの追加はできているが、アクセス権が無いということではじかれる。つまりwp-usermetaで権限を割り振る必要があり、ここを押えておけばおそらくユーザー追加に問題がないはず。
ユーザー権限についてはhttp://nishy.blog.fc2.com/blog-entry-3.htmlの記事を参考にしました。無許可ですが…
WordPressのユーザーについて
USERLEVEL 権限 SL 8 9 10 管理者 a:1:{s:13:"administrator";b:1;} 5 6 7 編集者 a:1:{s:6:"editor";b:1;} 2 3 4 投稿者 a:1:{s:6:"author";b:1;} 1 寄稿者 a:1:{s:11:"contributor";s:1:"1";} 0 購読者 a:1:{s:10:"subscriber";b:1;}
関連記事
Tagged wordpress
Posted by jun on .Comments
0 comments so far.