• 注册
  • 个人说明:TA有点懒了,什么都没有写。
    关注 1 粉丝 0 喜欢 0 内容 256
    河南省·郑州市
    聊天 送礼

    新版界面开发进度

    14%
    其实就是啥也没写,只有想法,哈哈
    • 回帖总排行
    • 采纳总排行

    分享精彩给好友

    全部文章 关注:0 内容:1074

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

  • 查看作者
  • 打赏作者
  • 拉黑名单
    • 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函数wp_insert_user注册新用户中的参数介绍。

      修改用户角色

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

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

      你需要登录,才能进行发帖操作