WordPressのユーザー権限を『User Role Editor』を使って管理しよう

  • このエントリーをはてなブックマークに追加

WordPressには

  • 購読者
  • 寄稿者
  • 投稿者
  • エディター
  • 管理者
といった5つの権限がデフォルトで存在します。
これは記事を登録できる人、記事は登録できず閲覧だけできる人…などの設定がされています。

ただ、運用での条件に合った権限がないという場合もあります。

そんな時は『User Role Editor』という自分の好きなように権限を割り振ることのできるプラグインを使います。


まずはプラグインをインストール

まずはプラグインのインストール画面から『User Role Editor』を検索して、インストールと有効化をしましょう。
(アイコン画像がちょっと怪しい感じですが、大丈夫です…)

一般設定画面

設定>『User Role Editor』で開くことのできる画面は一般設定画面になります。
こちらはプラグイン自体にかかわる設定を行うことができます。

こちらは基本的には書いてある通りの設定になりますので、今回は画面があるよということだけご紹介します。
自分が作業したときはとりあえずはデフォルトで問題ありませんでした。

権限設定画面

権限の設定画面はユーザー>『User Role Editor』から開きます。

『User Role Editor』をクリックすると、権限の設定ページが開きます。
一見なかなかとっつきにくそうな画面ですが、少しずつ見ていきましょう。

権限グループを作ろう

まずは権限グループを作りましょう。いわゆるデフォルトである『管理者』とか『購読者』のようなものをオリジナルで作っていくイメージです。
そして作ったグループの箱に対して、権限の設定をしていきます。
右側にある『権限グループを追加』をクリックします。

すると権限グループの作成画面が開きます。
軽く説明をすると下記のような感じです。
権限グループ名(ID) IDとなるグループ名を入力します。半角英数字で入力してください。
表示する権限名 権限名を入力してください。日本語など自分がわかりやすいものでOKです。
コピー元 既存の権限でコピーしたいものを選択します。特にない場合は「なし」のままで大丈夫です。
これに沿ってグループを追加してください。

追加したグループに対して、権限を設定する

無事グループを設定して元の画面に戻ったら、今度は権限の設定をしていきます。
先ほど追加したグループを選択してください。

グループを選択したら、その下の部分で権限をポチポチ登録していきます。

ちなみに『各権限を概説で表示する』にチェックを入れると日本語で分かりやすく表示してくれるので、必要な方はチェックを入れて作業することをおすすめします。

あとはグループの権限に、必要な項目のチェックを入れていきます。


チェックを入れ終わったら画面右側にある『更新』をクリックしてください。
『権限の更新を確認してください』と出てくるので『はい』を押すと保存・更新が完了します。


作成した権限グループをユーザーに付与する

それでは作成した作成した権限グループを、ユーザーに付与しましょう。
ユーザー一覧などから、ユーザーの管理画面を開いてください。

画面内に『権限グループ』の設定があるのでクリックします。

クリックすると、先ほどの権限が表示されますのでそちらを選択したのち、『更新』します。

あとは該当のユーザーアカウントでログインをして、設定した権限のみが付与されているのを確認出来たらOKです(今回の場合は記事を新規登録できるが削除できない、など)。


カスタム投稿やカスタムタクソノミーへの対応

権限を付与したい!となるとカスタム投稿・カスタムタクソノミーなどについても付与したい場合場合も多いと思います。
ただ、いつも通りのカスタム投稿などの記述のままだと『デフォルトの投稿』に入れたチェックが反映されるという現象が起きてしまいます。


これはfunctionsなどのカスタム投稿の記述に少し手を加えると解決できます。
※必ずfunctions.phpのバックアップを取りつつ作業をしてください。

デフォルトのカスタム投稿記述


カスタム投稿を使うにはfunctionsに上記脳ような感じで記述をしていることが多いかと思います。
ここから記述に手を加えていきます。

User Role Editorに対応したカスタム投稿・カスタムタクソノミーの記述


はい、User Role Editorに対応した記述をしてみました。
以下、記述について詳しく書いていきます。

カスタム投稿について

まずカスタム投稿についてはarrayの中に


という記述を加えます。
capability_typeを使うと、オリジナルの権限を設定することができます。
これで編集、削除などデフォルト投稿にあったものと同じ設定ができます。
上記に書いたように『カスタム投稿名』と『カスタム投稿名+s』の形で記述をしてください。

そしてmap_meta_captrueにすることで、上記の設定を動作させる、ということになります。
これでカスタム投稿についての権限の付与ができました。

カスタムタクソノミーについて

次にカスタムタクソノミーについてですが、こちらはarrayの中に


と、上記のように権限設定をします。
こちらも上記『カスタム投稿名+s』の部分を該当するものに置き換えてください。

ざっくり権限を説明すると

manage_terms 管理画面に表示する
edit_terms タームを編集をする
delete_terms タームを削除をする
assign_terms タームを割り当てる

こんな感じです。

これで無事に該当のカスタム投稿やカスタムタクソノミーにだけ権限を与えることができるようになりました!



最初はややこしく感じるかもしれないですが、一つ一つ設定していけば大丈夫です!
権限設定に困ったときはぜひ使ってみてください。


執筆者:工藤[ WEBデザイナー ]

WEBデザイナー。 最近はWordPressを触るのが好きです。よろしくお願いします。

関連記事

プログラミング

【phpdotenv】PHPで環境変数を取り扱うお話

PHPでサーバーの環境ごとに設定ファイルを用意する場合、config.phpなどのファイルにデータベースの接続情報やAPIのキーなどをdefineで登録すると思います。 これは昔からある一般的なやり方ですが、例えば「ローカル環境やテスト環境と本番環境で情報を出し分けたい」「GitHubやSubversionなどに接続情報を管理されたくない」ということがあるかと思います。 Linuxの場合は「.env」でユーザーごとの情報をあらかじめ設定することが可能ですが、PHPだとデフォル […]

Webサービス

【CAPTCHA系】reCAPTCHAの代替サービスを紹介するお話

みなさん、reCAPTCHAを使ってますか? CAPTCHAと呼ばれる機能は問い合わせフォームやログインフォームなどいわゆるbot系対策として有効で、その中でもreCAPTCHAは無料かつ簡単に導入できるたため、様々な場所で使われてます。 目次1 2024年4月から実質有料化?2 他にないのだろうか?3 アカウントを作る4 PHPでの実装5 最後に 2024年4月から実質有料化? しかし、2024年4月から今まで100万リクエストまで無料だったのが、1アカウント合計1万リクエ […]

Webサイト制作

Webアクセシビリティの基本を学ぼう!

近年Webサイト制作時に求められる『Webアクセシビリティ』。 正直なんだかよくわからない、ややこしそうだなあと思う方も多いと思います。 自分も勉強中ではありますが、今回は対応しやすそうな内容をなるべくわかりやすくまとめてみました。 一緒にWebアクセシビリティについて学んでいきましょう。 目次1 そもそもWebアクセシビリティってなに?2 基本的な対応内容2.1 色のコントラストをはっきりさせよう2.2 文字サイズを変更できるようにしよう2.3 できるだけテキストベースを心 […]

株式会社8bit (エイトビット)

東京都目黒区でWebサイト制作、Webシステム開発などを行っております。
コーポレートサイトやWebサービスの企画・提案を得意としており、自社での経験を元にアイデアをカタチにするお手伝いをさせていただいております。

Web制作に関するご相談はお気軽にどうぞ

弊社に制作をご依頼いただく際の費用感をご確認いただける、
見積りシミュレーションをご用意いたしました。