add_action( 'editable_roles' , 'DisAllowUserRoles_from_editable_roles_list' ); function DisAllowUserRoles_from_editable_roles_list( $roles ){ $DisAllowUserRoles = array("job_seeker" , "subscriber" , "enquiry", "wpc_manager", "wpc_client_staff", "wpc_client", "wpc_admin", "s2member_level1", "s2member_level2", "s2member_level3", "s2member_level4", "shop_manager", "customer","super_user"); $user = wp_get_current_user(); $next_level = 'level_' . ($user->user_level + 1); if (!current_user_can('administrator')){ foreach ( $roles as $name => $role ) { if(in_array($name, $DisAllowUserRoles)) { unset($roles[$name]); } } } return $roles; }