【WordPress】ユーザーグループごとに投稿カテゴリーを制限する方法

Pocket

元ネタはこちらから>>

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 では、ユーザーグループに応じてフロントエンドでの表示も制限できるようです。

メンバーサイトを構築する際にも良い足がかりになりそうですね。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください