CPTのみを作成して送信できる役割を作成しようとしています。ロールからedit_postを削除すると、割り当てられて登録されているCPTも作成および編集することができなくなります。私は、ロールにedit_CPTs機能を登録して割り当てました。だから基本的に、私はこれを持っています:
edit_cpt
edit_cpts
私は奪った
edit_posts
しかし、一度私がedit_posts
を削除すると、ロールはダッシュボードインターフェースのCPTを見ることさえできません。任意の助けは大歓迎です。
CPTをカスタム機能に登録してから、その特定の上限をユーザーに割り当てる必要があります。
引数を register_post_type
に渡すときは、capability_type
を新しい機能に設定すると、チェックは'edit_cpts'
ではなく'edit_post'
になります。
'capability_type' => [ 'cpt', 'cpts' ]
を設定することによって、 'cpt'は標準のケーパビリティチェックのために 'post'にマッピングされるので、通常 'edit_post'をチェックするところでは 'edit_cpt'をチェックします。
これまでに行ったように、ユーザー/ロールからプリミティブ'edit_posts'
キャップを完全に削除するときは、 WP_Role::add_cap()
を使用して新しいものを追加し、current_user_can( 'edit_cpts' )
でそれを確認する必要があります。