以下内容将为您的CPT分配能力需求。因此,用户将需要edit\\u community、delete\\u community等功能来执行这些操作。
function createCommunityPostType() {
$args = array(
\'public\' => true,
\'label\' => \'Community\'
\'capability_type\' => \'community\',
\'map_meta_cap\' => true
);
register_post_type(\'community\', $args );
}
add_action(\'init\', \'createCommunityPostType\');
请参阅中有关功能的部分
the codex.
您还需要将这些上限分配给您的用户。您可以为此使用插件(请参阅成员插件),也可以自己执行:
function my_after_setup_theme() {
$role = get_role( \'subscriber\' );
$caps_set = get_option( \'my_caps_set\' );
if ( !$caps_set ) {
$role->add_cap( \'edit_community\' );
$role->add_cap( \'read_community\' );
$role->add_cap( \'delete_community\' );
// ... and so forth (see codex for caps list)
update_option( \'my_caps_set\', true );
}
}
add_action( \'after_setup_theme\', \'my_after_setup_theme\' );
我们设置了一个设置标志,以保存多次重置CAP。
上面的代码假设您要将这些CAP分配给订阅者,但您可以将其更改为任何角色,或创建自己的角色。