我似乎在某种程度上遗漏了一些基本的东西(“我会尽量保持简短,但如果需要的话,当然可以提供更多的代码)
我用以下参数注册了一个CPT
\'capability_type\' => array(CPT_SLUG, CPT_SLUG.\'s\'),
\'map_meta_cap\' => true,
\'capabilities\' => array(
\'edit_post\' => \'edit_\'.CPT_SLUG.\'\',
\'edit_posts\' => \'edit_\'.CPT_SLUG.\'s\',
\'edit_others_posts\' => \'edit_others_\'.CPT_SLUG.\'s\',
\'publish_posts\' => \'publish_\'.CPT_SLUG.\'s\',
\'read_post\' => \'read_\'.CPT_SLUG.\'\',
\'read_private_posts\' => \'read_private_\'.CPT_SLUG.\'s\',
\'delete_post\' => \'delete_\'.CPT_SLUG.\'\',
\'delete_posts\' => \'delete_\'.CPT_SLUG.\'s\'
)
到目前为止还不错。为了使事情在某种程度上符合用户角色在正常wp帖子中的工作方式,我正在通过以下操作删除“作者”角色的功能
$authorRole->remove_cap( \'edit_others_\'.CPT_SLUG.\'s\' );
因此,作者无法编辑其他角色的帖子。虽然这样做有效,但即使是其他角色创建的帖子,我仍然可以在CPT帖子列表中使用快速编辑链接。
虽然我无法使用其他角色创建的帖子的快速编辑保存任何内容(这当然是我的想法),但我不认为应该有快速编辑链接(例如,“普通”WP帖子在上述场景中也不会显示此链接)
我是否遗漏了可能需要添加的筛选器/操作?或者“作者”是否还有其他需要删除的功能?
已经环顾四周好长一段时间了,但除了似乎可行的方法之外,找不到任何答案。。。
非常感谢您的提示