プラカンブログSTAFF BLOG

2017.01.16

WordPress「ユーザーの種類・権限」と「ユーザーごとに振り分ける方法」

こんにちは。デザイナーのSUZUKIです。

現在WordPressを習得中で、日々精進しています。
まだまだ身になっていないので、備忘録として、
今回はWordPressの「ユーザーの種類・権限」と「ユーザーごとに振り分ける方法」を紹介します。

「ユーザーの種類・権限」

WordPressには、「ユーザーの種類・権限」という概念があり、
管理者はユーザーのサイト内での操作権限をコントロールすることができます。
実際の「ユーザーの種類・権限」は下記になります。
下に行くほど権限がなくなり、操作可能な機能が減っていきます。

ユーザーの種類 権限
特権管理者 マルチサイトのすべての管理が可能
管理者 administrator プラグインの新規追加から設定、テンプレートの変更などシングルサイト内のすべての管理が可能
編集者 editor 他のユーザーの投稿を含むすべての投稿を編集・公開、カテゴリーとタグの編集、コメントの承認が可能
投稿者 author 自身の投稿を作成・編集・公開が可能だが、他のユーザーの投稿、固定ページの管理はできない
寄稿者 contributor 自身の投稿を編集、管理は可能だが、公開はできない。
購読者 subscriber プロファイル管理と投稿の閲覧が可能。一番制限されているユーザーで投稿の作成も公開もできない。

シングルサイトの場合、「管理者」も「特権管理者」も実質同じ権限になります。

「ユーザーごとに振り分ける」

よく使う振り分け方法は管理者と管理者以外でわけることです。
下記の方法で振り分けると便利です。
functions.phpに下記コードを記述します。

function remove_menus () {
    if (!current_user_can('administrator')) { //管理者ではない場合
        / 処理方法を記述;
    }
}
add_action('admin_menu',   'remove_menus');

投稿者だけを振り分ける場合はfunctions.phpに下記コードを記述します。

function remove_menus () {
    if (current_user_can('author')) { //投稿者の場合
        / 処理方法を記述;
    }
}
add_action('admin_menu',   'remove_menus');

また「author」部分をほかのユーザーの値にかえることで、
ユーザーごとの振り分けが可能になります。

まとめ

記事を書く人と記事を承認する人、WordPressを管理する人など
クライアントによってユーザー数や内容が異なってくるので、
状況に合わせ振り分ける必要があると思います。
特にユーザーの種類の指定は間違えやすいので、注意してください。

今回の振り分け方法で管理画面のカスタマイズも可能で、
管理者以外のユーザーには触れてほしくない項目を非表示にする際に便利です。
次回は管理画面のカスタマイズ方法を紹介したいと思います。

参考リンク

下記サイトは参考にしたサイトになります。
詳しく知りたい方はどうぞ。

https://wpdocs.osdn.jp/%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%81%AE%E7%A8%AE%E9%A1%9E%E3%81%A8%E6%A8%A9%E9%99%90
http://qiita.com/konweb/items/5483efbe87087eff5cc8#remove_menu_page
http://nskw-style.com/2014/wordpress/users-role-capability.html
http://mahills.com/4123.html

+dc (鈴)

この記事は、SUZUKI が書きました。