2

I have set up a WP multi-site with custom roles. One of the roles can add users. I need a solution to only show two roles available to the limited role on add user and leave all user types available to administrator. This code snipped works great for removing Administrator mode, but I don't understand enough of it to know if I could expand it to exclude other roles as well. Any help appreciated.

1 Answer 1

3

Simple all you need to do is edit this part of the code :

function editable_roles( $roles ){
    if( isset( $roles['administrator'] ) && !current_user_can('administrator') ){
      unset( $roles['administrator']);
    }
    return $roles;
  }

and change it to

function editable_roles( $roles ){
    //don't change anything if current user is admin 
    if (current_user_can('administrator')) {
        return;
    }else{
        if( isset( $roles['administrator'] ) && !current_user_can('administrator') ){
           unset( $roles['administrator']);
           //here you add  "unset( $roles['role_to_remove']);" for each role you wish to remove
        }
    return $roles; 
  }
4
  • YOU are awesome! thanks a BUNCH - worked like a charm
    – Ann
    Feb 5, 2011 at 19:29
  • Glad i can help
    – Bainternet
    Feb 5, 2011 at 21:14
  • could this be used without the JPB_User_Caps class & in the functions.php?
    – v3nt
    Jul 27, 2011 at 12:17
  • Yep its WordPress functions so you should be able to use them in your functions.pho
    – Bainternet
    Jul 27, 2011 at 12:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.