元ネタはこちらから>>
http://c-brains.jp/blog/wsg/13/11/11-200157.php
想定する要件
- 投稿ユーザーを自由にグルーピングしたい
- ユーザーグループに応じて、投稿カテゴリーを制限させたい
User Role Editor と User Access Manager の二つのプラグインを用いる
まずはこの2つのプラグインをインストールします。
User Role Editor
User Access Manager
手順
User Role Editor でオリジナルのユーザー権限をつくる
↑メニューの「ユーザー」項目に「User Role Editor」が追加されていますので選択します。
↑新たにユーザー権限を追加したいので「Add Role」を選択します。
↑ひとまず権限名を「role01」で作ってみます。
「Make copy of」は、既にあるユーザーグループの権限を継承するか選択可能です。
今回はひとまず「投稿者」の権限をコピーしてみます。
「Add Role」ボタンを選択して、ユーザー権限の追加は完了です。
User Access Manager で紐付ける為のユーザーグループをつくる
↑メニューの一番下に「UAM」のメニューが表示されていると思います。
「Manage user Groups」を選択。
↑「Add User Group」画面でユーザーグループ名を入力します。
後々、管理しやすいように説明文を入れておくと便利です。
「Role affiliation」の項目で先ほど追加したユーザーグループ権限「role01」を割り当てます。
↑無事、ユーザーグループの追加が完了しました。
カテゴリ画面でユーザーグループを割り当てる。
↑さて、カテゴリー画面です。
追加したユーザーグループ「role_access01」には、「特定のカテゴリーだけ投稿可能」な状態にしたいので、 該当カテゴリーの編集画面、「Set up user groups」の項目で上記同様、紐付けてやります。
ここで注意なのですが、
今回は上図のように「role01権限のみ投稿可能なカテゴリー」のみ投稿可能な形にしたいので、 それ以外の見せたくないカテゴリーは「管理者権限と紐付けてやる」という作業が必要になってきます。
管理者権限では、追加していないカテゴリーでの投稿も可能です。
対象となるユーザーアカウントを追加
↑最後にユーザーアカウントを新規作成します。
↑「権限グループ」の項目で追加したユーザー権限「role01」を設定します。
追加したユーザーで再度ログイン
↑最後にどのような表示になっているか確認してみましょう。
↑「投稿画面」できっちりとカテゴリーに制限がかかっている事がわかります。
いかがでしたでしょうか。
今回は「投稿時のカテゴリーを制限する」という形でしたが、
User Access Manager では、ユーザーグループに応じてフロントエンドでの表示も制限できるようです。
メンバーサイトを構築する際にも良い足がかりになりそうですね。
- User Role Editor
http://wordpress.org/plugins/user-role-editor/ - User Access Manager
http://wordpress.org/plugins/user-access-manager/