[WordPress] ユーザー権限を管理画面外(MySQL)から変更する

2019年1月13日ITMySQL, WordPress

WordPress のユーザー権限を MySQL のコマンドを使って、直接更新する手順です

検証環境

WordPress 4.9.1
MAMP 4.2(PHP 5.6、MySQL 5.6.35 )

手順

1. 変更したいユーザーのIDを調べる

[ユーザー名で調べる]

SELECT * FROM wp_users where user_login = "USER_LOGIN";

[メールアドレスで調べる]

SELECT * FROM wp_users where user_email = "EMAIL_ADDRESS";

※USER_LOGIN、EMAIL_ADDRESS は WordPress にログインする際に使用するユーザー名、メールアドレスです

取得した ID をメモして置いてください

2. 権限を更新する(meta_key カラムの “wp_capabilities” と “wp_user_level” の2箇所を更新します)

ID には 1. で調べた ID をいれてください

[“管理者”に更新]

update wp_usermeta set meta_value='a:1:{s:13:"administrator";b:1;}' where user_id=ID AND meta_key="wp_capabilities";
update wp_usermeta set meta_value=10 where user_id=ID AND meta_key="wp_user_level";

[“編集者”に更新]

update wp_usermeta set meta_value='a:1:{s:6:"editor";b:1;}' where user_id=ID AND meta_key="wp_capabilities";
update wp_usermeta set meta_value=7 where user_id=ID AND meta_key="wp_user_level";

[“投稿者”に更新]

update wp_usermeta set meta_value='a:1:{s:6:"author";b:1;}' where user_id=ID AND meta_key="wp_capabilities";
update wp_usermeta set meta_value=2 where user_id=ID AND meta_key="wp_user_level";

[“寄稿者”に更新]

update wp_usermeta set meta_value='a:1:{s:11:"contributor";b:1;}' where user_id=ID AND meta_key="wp_capabilities";
update wp_usermeta set meta_value=1 where user_id=ID AND meta_key="wp_user_level";

[“購読者”に更新]

update wp_usermeta set meta_value='a:1:{s:10:"subscriber";b:1;}' where user_id=ID AND meta_key="wp_capabilities";
update wp_usermeta set meta_value=0 where user_id=ID AND meta_key="wp_user_level";

[“このサイトでの権限なし”に更新]

update wp_usermeta set meta_value='a:0:{}' where user_id=ID AND meta_key="wp_capabilities";
update wp_usermeta set meta_value=0 where user_id=ID AND meta_key="wp_user_level";

権限の値一覧

wp_capabilities wp_user_level
管理者 ‘a:1:{s:13:”administrator”;b:1;}’ 10
編集者 ‘a:1:{s:6:”editor”;b:1;}’ 7
投稿者 ‘a:1:{s:6:”author”;b:1;}’ 2
寄稿者 ‘a:1:{s:11:”contributor”;b:1;}’ 1
購読者 ‘a:1:{s:10:”subscriber”;b:1;}’ 0
このサイトでの権限なし ‘a:0:{}’ 0

以上になります。

スポンサーリンク

Posted by nobuhiro harada