CPT UIの「権限タイプ」が何なのかUser Role Editorを使うと分かる
Custom Post Type UIでカスタム投稿タイプを作っているけど、「権限タイプ」ってなに?
という方へ向けて。
僕はいつもここをデフォルトの「post」のまま放置していました。
この権限タイプの意味するところが、User Role Editorというプラグインでユーザー権限設定をする必要があった時にようやく実感したのでメモを残します。
- ユーザーAは「ニュース」というカスタム投稿タイプを編集できるけど「商品」というカスタム投稿タイプは編集できない
- ユーザーBはその反対
・・・という風に、投稿タイプごとにユーザーアカウント権限を細かく振り分けるときにこの「権限タイプ」をpostから書き換える必要があります。
メモ:
逆に、ユーザーアカウントごとに編集権限を分ける必要がない場合は「権限タイプ」を気にする必要がありません。
CPT UIの「権限タイプ」はUser Role Editorを使うと分かる
まず、User Role Editorをインストール直後のデフォルトの設定画面がこんな感じ。
ここで、CPT UIのカスタム投稿タイプ「商品(product)」の設定画面へいき、「権限タイプ」を「post」から「product」へ変更し保存してみます。
そしてまたUser Role Editorの設定画面を見ると、以下のように[delete_others_products]、[delete_products]など、カスタム投稿タイプに特化した権限が選択できるようになったのがわかります。キャプチャが長くなってしまうため省略しましたが、edit権限なども追加されています。
さらにCPT UIで「ニュース(news)」というカスタム投稿タイプを作り、権限タイプも「post」から「news」へ変えると、
[delete_others_products]、[delete_products]の他に[delete_others_news]、[delete_news]という権限選択ができるようになります。
まとめ
CPT UIでカスタム投稿タイプ「product」「news」を作成しても「権限タイプ」の欄がpostのままだと、User Role Editorの「xxxx_posts」のチェックボックスで一括許可/拒否されてしまいますが、このように「権限タイプ」をpost以外にすることで、ユーザーごとにカスタム投稿タイプ操作権限を細かく設定できるようになります。