web-dev-qa-db-ja.com

Wp_データベースの利用可能なロールはどこに定義されていますか?

私は私がマルチサイトネットワークで使っているプラ​​グインのプライベートベータをテストするためにリストに載った。

プラグインの作者はそこにカスタムロールを追加するコードを持っています。彼らには、1つのカスタムロール以外のロールをユーザに与えることができないというバグがあります。

私が../wp-admin/network/site-users.phpにアクセスすると、 "Add User"ロールプルダウンにはこのプラグインが追加したロールが1つだけ表示されます。役割変更プルダウンメニューには、すべてのWPデフォルトの役割に加えて、thisおよび他のプラグインが追加したいくつかの追加の役割が表示されます。ユーザーをこれらの役割のいずれかに変更しようとすると、「その役割をユーザーに付与することはできません」というエラーページが表示されます。

私は開発者とこれについて議論していましたが、彼らは困惑しているようです。

私は自分のデータベースとコーデックスを調べてきましたが、有効な役割が定義されている場所を見つけることができません。

11
cpilko

ユーザロールはwp_optionsテーブルに格納されています。

wp_user_rolesテーブルでオプション名wp_optionsを検索します。

23
Giri

ユーザロールはテーブルwp_user_metaに格納されています

ユーザーの役割を確認するには、まずテーブルwp_users(列名ID)のユーザーIDを確認します。

今度はテーブルwp_usermetaに行き、カラムuser_idwp_usersテーブルからのIDと一致するIDと等しいところで検索してください。

選択したユーザーのメタデータを含む行のリストが表示されます。meta_keywp_capabilitiesでユーザーロールを定義しています。

wp_capabilitiesの値

  • 管理者:a:1:{s:13:"administrator";b:1;}
  • ウーコマースカスタマー:a:1:{s:8:"customer";b:1;}
9
Ashutosh Kumar