阻止贡献者编辑标准帖子,但允许他们编辑自定义帖子类型

时间:2015-04-28 作者:Leona grey

我需要阻止任何作为“贡献者”的网站用户编辑标准帖子,但我希望他们能够编辑一个名为courses的自定义帖子类型。这是我迄今为止的代码,它不起作用:Activation of theme:

   function remove_editor_read_private_posts(){
 global $wp_roles;
 $wp_roles->remove_cap( \'contributor\', \'edit_post\' );
}

add_action( \'after_setup_theme\', \'remove_editor_read_private_posts\' ); 
上面的代码需要删除编辑标准帖子的功能,但允许贡献者编辑称为课程的自定义帖子类型。在此之前,代码贡献者可以编辑称为课程的标准和自定义帖子类型。

Deactivation of theme:

 function remove_editor_read_private_poststwo(){
     global $wp_roles;
     $wp_roles->add_cap( \'contributor\', \'edit_post\' );
    }

     add_action( \'switch_theme\', \'remove_editor_read_private_poststwo\' ); 

1 个回复
SO网友:bueltge

提示

角色和无布局主题的更改不应该是主题的一部分,更应该是插件的主题。也许你会考虑一下这个话题,比如维护、主题切换和激活挂钩——插件更简单。

对于您的问题,您必须为自定义帖子类型添加角色新功能,并删除类型的功能post. 激活时,更改以下功能的角色。

foreach ( self::$todo_roles as $role ) {            
     $wp_roles->add_cap( $role, \'edit_\' . self::$post_type_1 );
     $wp_roles->add_cap( $role, \'read_\' . self::$post_type_1 ); 
     $wp_roles->add_cap( $role, \'delete_\' . self::$post_type_1 );
     $wp_roles->add_cap( $role, \'edit_\' . self::$post_type_1 . \'s\' );
     $wp_roles->add_cap( $role, \'edit_others_\' . self::$post_type_1 . \'s\' );    
     $wp_roles->add_cap( $role, \'publish_\' . self::$post_type_1 . \'s\' );
     $wp_roles->add_cap( $role, \'read_private_\' . self::$post_type_1 . \'s\' );   
     $wp_roles->add_cap( $role, \'delete_\' . self::$post_type_1 . \'s\' ); 
     $wp_roles->add_cap( $role, \'delete_private_\' . self::$post_type_1 . \'s\' ); 
     $wp_roles->add_cap( $role, \'delete_published_\' . self::$post_type_1 . \'s\' );
     $wp_roles->add_cap( $role, \'delete_others_\' . self::$post_type_1 . \'s\' );  
     $wp_roles->add_cap( $role, \'edit_private_\' . self::$post_type_1 . \'s\' );
     $wp_roles->add_cap( $role, \'edit_published_\' . self::$post_type_1 . \'s\' ); 
} 
使用类似于上述的功能,您可以为角色添加功能。

还应执行此操作以删除该类型的所有权限post.

$wp_roles->remove_cap( ... )

作为对源的提示。这个self::$post_type_1 是自定义帖子类型类中的变量。这个foreach 循环是将此功能经常添加到不同的角色。

结束

相关推荐