説明
WP_Roles は、ユーザーロール(権限グループ)の一覧を管理するクラスです。グローバル変数 $wp_roles から使います。
基本構文
global $wp_roles
引数
get_names():ロール名の一覧is_role( $role ):ロールが存在するかadd_role():ロールの追加
戻り値
ロール情報を持つオブジェクト。
使い方(サンプル)
global $wp_roles;
$names = $wp_roles->get_names();
注意点
- 通常は
get_role()、add_role()などの関数を使います。
実務での使いどころ
- 登録されている、すべてのロールと、権限の一覧を、確認するとき(
global $wp_roles)。
よくあるミスと対処
- ロールの追加・削除を、このオブジェクトの、プロパティを書き換えて行っている。専用の関数を使う(
add_role()・remove_role()・get_role())。 - 毎回のリクエストで、権限を追加している。結果は、データベースに保存されるため、一度だけ行う。
NG例
global $wp_roles;
$wp_roles->roles['client'] = array( 'name' => 'クライアント' ); // 直接書き換えている
OK例
add_role( 'client', 'クライアント', array( 'read' => true ) );
$role = get_role( 'client' );
使い分け早見表
| やりたいこと | 使うもの |
|---|---|
| ロールを取得する | get_role() |
| ロールを追加する | add_role() |
| ロールの一覧を、確認する | $wp_roles->roles |

コメント