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を触るのが好きです。よろしくお願いします。

関連記事

プログラミング

【PHP】PHPでExcelファイルを操作するお話 その2

目次1 前回は・・・2 考え方3 保存したフォーマットにデータを入れる4 ExcelからPDFへ変換する4.1 mpdfで変換する4.2 TCPDFで変換する4.2.1 IPAexフォントのインストール5 結局何がいいの? 前回は・・・ 前回はPHPでExcelファイルを操作する方法をまとめました。 基本的にはCSV出力や一括登録の代替案としてまとめましたが、PhpSpreadsheetを使うことでExcelで作成した書類のフォーマットにPHPでデータを入力してPDFで出力す […]

プログラミング

【PHP】PHPでExcelファイルを操作するお話 その1

目次1 こういうことってないですか?2 インストール方法3 PHPでライブラリの呼び出し方4 Excelファイルのエクスポート方法4.1 ちなみに・・・5 Excelファイルのインポート方法6 これを組み合わせると??? こういうことってないですか? webでの管理システムを設計するときに「CSVでインポートやエクスポート機能を付けてよ」って言われる事があります。 インポートに関しては一括登録や一括削除や更新など割とリスクが大きいのですが、エクスポートはあったりします。 CS […]

スマホアプリ

【Android】スプラッシュスクリーンを設定するお話

スマホアプリを作る上で欠かせない・・・訳ではないですが、アプリの構成に必要なのはスプラッシュスクリーン(以下スプラッシュ画面)ですよね 目次1 そもそもスプラッシュ画面とは?2 Androidアプリで実装する場合(今まで)3 SplashScreen API登場3.1 スプラッシュ画面用のActivityを用意する3.2 themes.xmlにテーマを記述する そもそもスプラッシュ画面とは? スマホアプリにかかわらず、ほとんどのアプリやプログラムを起動した際に一瞬表示される画 […]

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

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

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

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