権限マトリクスで権限を設定する
マトリクスのチェック一つひとつが WordPress の capability です。設定は WP_Role::add_cap() と remove_cap() を通り、つまり wp_user_roles に直接書かれます。ここにあるものは即座に、どこでも効きます — このプラグインを知らないコードにも。current_user_can() を尋ねるプラグインは、みな同じ答えを受け取ります。
ロールの権限を変更する
- 左のサイドバー「ロールと権限」から「権限マトリクス」を選びます。
- 上でロールを選びます。その下のチェックは、まさにそのロールのものです。
- チェックを付けたり外したりします。プラグインやテーマ由来の権限は「プラグインとテーマから」という独自グループに並びます。
- 最後のボタンで保存します — それまでは何も書き込まれていません。
「危うい」とは、名前が示す以上のものを開くという意味です
一部の権限には危うい印が付いています。たとえば edit_plugins、edit_themes、edit_files は編集部ではなくサーバーへの入口です。これらを持つ人は、ファイルエディター経由でサイトにコードを書き込めます。Kakapo Security はまさにこれらの権限を狙って取り上げられます。ここでは、どのロールがそもそもそれを持っているかが見えます。
カスタム投稿タイプを切り分ける
既定では、カスタム投稿タイプは権限を投稿と共有します。「イベント」を編集できる人は、必然的に投稿も編集できます。「コンテンツタイプ」で切り分けられます。タイプが独自の capability を持ち、マトリクスはそれを「カスタム投稿タイプ」という別グループに示します。
なぜ早い段階で行われる必要があるのか
WordPress はコンテンツタイプの権限対応を登録時に確定させます。あとから設定しては遅いため、この切り替えは register_post_type_args フィルターに掛けてあります。
register_post_type_args