wordpressでのロールと権限の制御の実装
1. WordPress システムの役割と権限の構成
この設定は wp_options テーブルに保存されます。
次の方法で取得できます。
$roles= 新しい WP_Roles();
または
get_option(wp_user_roles);
2.役割とキャップ
ロールは役割、キャップは能力です。
キャラクターには複数の能力があります。ユーザーがこのロールになると、ロールの設定と対応する機能がユーザーのメタデータ (wp_usermetas テーブル) に書き込まれます。
User オブジェクトには関連するデータがあります。
$user->roles を使用して、関連するロール データを取得します。
関連する機能を取得するには、$user->allcaps を使用します。
3. 3つの機能
set_role()
ユーザーのロールを設定すると、ユーザーの以前のロールがすべて削除され、新しいロールが設定されます。
削除_役割()
2 つの用途:
Remove_role(role1): システムロール構成 (wp_option) から role1 を削除することを示します。
$user->remove_role(role1): role1 がユーザーのすべてのロールから削除されることを示します。
add_role()
使い方も2通りあります。
add_role(role1): システムロール構成 (wp_option) に role1 を追加することを示します。
$user->add_role(role1): ロール role1 をユーザーに追加することを意味しますが、ユーザーの既存のロールには影響しません。
4. 判断権限
ユーザーの役割を判断して
判断力で実現
5. プラグイン ロール システムのベスト プラクティス
bbpressを参照してください。
WordPress には「ロールファミリー」として既存のロールがあります。
独自のキャラクターを別の「キャラクターファミリー」としてプラグインします。
各ユーザーは 1 つのキャラクター シリーズのみを持つことができます。
プラグインの役割システム(ストレージ、設定、権限判定)の実装はWordPressと同様です。