我有一个已经编码的项目,它有一个具有特定行为的自定义帖子类型:它只是一个帖子,管理员/编辑/作者只能编辑它的内容。它的内容是一个自定义数据表。管理员和编辑可以很好地进行编辑。我希望作者也能编辑这篇文章,但我似乎无法找到如何编辑。代码如下:
add_action(\'init\', \'register_post_types\');
function register_post_types(){
register_post_type(\'post_type_uo\', array(
\'labels\' => array(
\'name\' => \'uo Articles\',
\'singular_name\' => \'uo\',
\'add_new\' => \'Add uo\',
\'edit_item\' => \'Edit Post\',
\'view_item\' => \'View Post\',
\'search_items\' => \'Find Post\',
\'not_found\' => \'Not Found\',
\'not_found_in_trash\' => \'Not Found\',
\'parent_item_colon\' => \'\',
\'menu_name\' => \'uo\',
),
\'public\' => true,
\'menu_position\' => 4,
\'exclude_from_search\' => true,
\'has_archive\' => false,
\'rewrite\' => array(\'slug\' => \'daily-uo\'),
\'taxonomies\' => array( \'dailies\' , \'category\'),
\'menu_icon\' => \'dashicons-chart-line\', // custom icon
\'capabilities\' => array(\'create_posts\' => false,),
\'map_meta_cap\' => true,
\'supports\' => array(\'title\')
));
}
我尝试添加一个功能阵列,然后安装了“成员”插件。
\'capabilities\' => array(
\'create_posts\' => \'do_not_allow\', // false < WP 4.5, credit @Ewout
\'read_posts\' => \'read_uos\',
\'edit_post\' => \'edit_uo\',
\'edit_posts\' => \'edit_uos\',
\'published_posts\' => \'publish_uo\',
\'edit_published_posts\' => \'edit_uo_p\',
\'edit_others_posts \' => \'edit_uo_others\'
),
我可以在插件的角色页面中看到这些功能并选择它们,但对于具有Athor角色的用户仍然没有编辑权限。
最后,我通过插件创建了一个新角色-uo\\u Author-提供正确的(??)权限,但仍然没有运气
有什么想法吗?
最合适的回答,由SO网友:Tedinoz 整理而成
将“dailies”注册为分类法。
“的法典”register post type“表示”即使在创建post类型时注册了分类法,也必须使用register\\u taxonomy()显式注册和定义分类法“
PS:如果我能够的话,我会把这个作为对你问题的评论。
UPDATE: 22 August 2018
好的。让我们再次开始讨论。您确实需要添加分类法,但这并不是您的作者无法查看/编辑您的帖子的原因。
在register\\u post\\u type函数中,您的“功能”中存在一些语法错误,足以阻止作者查看uo post。因此,请编辑“功能”以匹配以下内容:
\'capabilities\' => array(
\'create_posts\' => \'do_not_allow\', // false < WP 4.5, credit @Ewout
\'read_posts\' => \'read_uos\',
\'edit_post\' => \'edit_uo\',
\'edit_posts\' => \'edit_uos\',
\'publish_posts\' => \'publish_uos\',
\'edit_published_posts\' => \'edit_published_uos\',
\'edit_others_posts\' => \'edit_others_uos\'
),
使用Members插件,为“uo文章”分配所有功能,尽管您可能不想授予各种“删除”和“私有”功能。
您不需要添加其他作者角色。事实上,它的价值可能更令人困惑。