WordPress権限グループの編集・追加についてご相談頂きました。
目次
権限グループの編集方法が知りたい
新規ユーザーを登録する際にプルダウンで権限を設定できますが、「管理者」だけが出てきません。
おそらく前任者がそのように設定したと思われますが引継ぎもなく。
管理者を追加する必要があるのですが、その方法を教えていただけないでしょうか?
ググるとよく「ユニークな権限設定」の方法は出てくるのですが、隠れている権限を表示させる方法が出てこず。
仕組みを元からしっかりと理解するため、できればプラグイン以外の対処方法を教えていただけると幸いです。
よろしくお願いいたします。
WordPress 権限グループのカスタマイズ
>ヨシダ様
ご相談ありがとうございます。
権限系のカスタマイズは結構高度な部類に入るかなと思います。(個人的に)
これらのカスタマイズは関数を利用して行う事もできますが、UIを備えたプラグインで管理する方がメリットは大きいでしょう。
例えばカスタムフィールドも、関数で追加・管理はできますが、ACF(Adavanced Custom Fields)利用者が圧倒的に多いと思います。
僕自身もプラグイン以外で権限のカスタマイズをしたことはありませんが、関数リファレンスはご紹介できます。
ただ、プラグインによって操作されている処理があると思うので、新たに関数で何かしようとした時に、どういった挙動になるかは分かりません。
その点は注意が必要と言えるでしょう。(DBのリストアができる状態で行うとか、同一の環境を別に作って行うなど)
一番は管理者権限のログイン情報をもらう事だというのは間違いありません。
おそらく、『User Role Editor』によってヨシダ様の権限が操作されるなどしているのでしょう。
自身の権限グループがなんなのかによっても変わってくるかもしれません。
自分の権限グループが管理者より下の場合、権限を追加しても基本的に管理者を作る事はできなかったと思います。
権限操作系の関数
管理者、編集者 といった権限名を「権限グループ user role」と言います。
任意の権限グループやユーザーに操作可能な権限・機能(capability)を追加する関数に add_cap(逆がremove_cap)があります。
WPCodex 関数リファレンス add_cap
使い方はget_role と合わせて
<?php $role = get_role( 'author' ); $role->add_cap( $cap ); ?>
上記例ならauthorに任意の$cap(権限)を追加します。
$capには決まった値があり、例えば
list_users ならユーザー一覧
add_users ならユーザーの追加
が可能になります。
権限についてはこちらに一覧があります。
WPCodex ユーザーの種類と権限
ただ、前述の通りヨシダ様が元々管理者でないと、管理者の追加は出来ないかも知れません。
phpMyAdmin でユーザーを追加したり、権限を変更したりという形になるかもしれません。(こちらも試したことはないので調べ方のみです)
「(WordPress) phpMyAdmin 管理者追加」
「(WordPress) phpMyAdmin 権限 追加(変更)」
などで調べてみると良いでしょう。
[WordPress] ユーザー権限を管理画面外(MySQL)から変更する
https://nobuhiroharada.com/2018/01/01/wp-userauth-update-by-mysql/
WordPressの管理者を削除してしまった…!データベースから管理者を追加する最小構成
https://haniwaman.com/add_administrator/