我正在尝试创建一个只能创建并提交给CPT的角色。当我从角色中删除edit\\u post时,它也会取消创建和编辑任何分配和注册的CPT的功能。我已经注册并为该角色分配了edit\\u CPTs功能。所以基本上,我有:
edit_cpt
edit_cpts
我已经带走了edit_posts
但一旦我移除edit_posts
该角色甚至无法在仪表板界面中看到CPT。任何帮助都将不胜感激。我正在尝试创建一个只能创建并提交给CPT的角色。当我从角色中删除edit\\u post时,它也会取消创建和编辑任何分配和注册的CPT的功能。我已经注册并为该角色分配了edit\\u CPTs功能。所以基本上,我有:
edit_cpt
edit_cpts
我已经带走了edit_posts
但一旦我移除edit_posts
该角色甚至无法在仪表板界面中看到CPT。任何帮助都将不胜感激。您需要使用自定义功能注册CPT,然后将该特定cap分配给用户。
将参数传递给register_post_type
, 设置capability_type
你的新能力,所以检查变成\'edit_cpts\'
而不是\'edit_post\'
.
按设置\'capability_type\' => [ \'cpt\', \'cpts\' ]
, \'“cpt”将映射到“post”以进行标准功能检查,因此在通常检查“edit\\u post”的地方,现在将检查“edit\\u cpt”。
完全删除基本体时\'edit_posts\'
来自用户/角色的cap正如您所做的那样,您需要使用WP_Role::add_cap()
并用current_user_can( \'edit_cpts\' )
.
嘿,我在我的localhost设置中得到了这个错误消息,但只有在启用Genesis框架的情况下;WordPress二十一行。当我想创建一个新帖子时,就会发生这种情况。如果我刷新页面,错误会重复,但帖子本身会被创建,一切似乎都很好。有人知道这是什么原因吗?Notice: Undefined offset: 0 in /var/www/secret/htdocs/wp-includes/capabilities.php on line 1067 Notice: Undefined offset: 0