NIUBI
wordpress教程

WordPress 移除用户角色添加新角色并赋予角色能力/权限

1年前/ 61/ / WP爱好者/ 已收录/
导语: WordPress 移除用户角色添加新角色并赋予角色能力/权限,一看这个标题就知道是关于用户的,也就是说用户角色跟那些开放了用户注册登陆的站有关。WordPress 提供的 5 类用户角色与权限,除了管理员好使之外,其它角色很多时候都不好用。这时候我们就需要添加我们自己的用户角色,比如普通用户、VIP 用户等等。并且给它们赋予不同的权限,方便我们实现我们需要的业务逻辑。WordPress 也知道自己的角色与权限不够大家用,于是提供了相应的函数供我们 DIY。

WordPress 移除用户角色添加新角色并赋予角色能力/权限,一看这个标题就知道是关于用户的,也就是说用户角色跟那些开放了用户注册登陆的站有关。WordPress 提供的 5 类用户角色与权限,除了管理员好使之外,其它角色很多时候都不好用。这时候我们就需要添加我们自己的用户角色,比如普通用户、VIP 用户等等。并且给它们赋予不同的权限,方便我们实现我们需要的业务逻辑。WordPress 也知道自己的角色与权限不够大家用,于是提供了相应的函数供我们 DIY。

移除不需要的角色

WordPress 自带的订阅者对我们几乎没有作用,因此可以考虑移除它,你也可以不移除。

remove_role($data)

参数是角色名字,WordPress 的角色名如下:

  • 订阅者:subscriber
  • 投稿者:contributor
  • 作者:author
  • 编辑:editor
  • 管理员:administrator

比如移除订阅者:

remove_role( 'subscriber' );//移除订阅者

将代码放在主题的 functions.php 中即可。

添加新角色

//添加普通用户角色 add_role('pt_user', '普通用户', array( 'read' => false, //读权限 'edit_posts' => false,//编辑权限 'delete_posts' => false, //删除权限 ));

这样就可以添加一个名为普通用户的角色,为了与上面 WordPress 自带的角色名形成对比,特意写成下面的形式:

  • 普通用户:pt_user

同样将代码放在主题的 functions.php 中即可。

比如不让普通用户拥有查看部分内容,就不给普通用户赋予读权限,在使用时,只需判断用户是否具有读权限即可,如下:

if ( is_user_logged_in()  && current_user_can( 'read' ) ) { //有权限 }else{ //没有权限 }

修改添加角色后,我们在后台可以看到目前拥有的角色,如下:

WordPress 移除用户角色添加新角色并赋予角色能力/权限

WordPress 移除用户角色添加新角色并赋予角色能力/权限

另外,在移除了订阅者后,新用户注册将默认无身份,我们可以在给用户注册时指定用户角色来赋予新用户默认角色。具体请查看用户注册函数 WordPress 函数 wp_insert_user 注册新用户中的参数介绍。

修改用户角色

 $user = new WP_User( $ID );  $user->set_role( 'pt_user' );

直接设置角色,将覆盖已拥有角色,WordPress 允许拥有多个角色!

点点赞赏,手留余香

还没有人赞赏,快来当第一个赞赏的人吧!
admin给Admin打赏
×
予人玫瑰,手有余香
  • 2
  • 5
  • 10
  • 20
  • 50
2
支付
收藏 0 海报

版权归属:本文为原创文章,版权归 所有

本文链接:( 欢迎分享本文,转载请保留出处 )

免责声明:如发现本站有涉嫌抄袭侵权/违法违规的内容,请邮件/留言反馈,一经查实本站将立刻删除!

<< 上一篇

2019-05-05

下一篇 >>

2019-05-19

全部评论( 0 条 )
扫一扫二维码分享