From a6903586197d1f371fe0cfae176c78688d8c0f2a Mon Sep 17 00:00:00 2001 From: John Blackbourn Date: Fri, 5 Feb 2021 14:38:15 +0000 Subject: [PATCH] Users: Allow the role of users to be bulk changed to no role from the Users listing screen. This option is already available when editing an individual user, but it was previously missing from the bulk actions. Props bonniebeeman, sabernhardt, ovidiul, jeroenrotty Fixes #52238 git-svn-id: https://develop.svn.wordpress.org/trunk@50228 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-admin/includes/class-wp-users-list-table.php | 1 + src/wp-admin/users.php | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/src/wp-admin/includes/class-wp-users-list-table.php b/src/wp-admin/includes/class-wp-users-list-table.php index bf73df9e99..e78fa20312 100644 --- a/src/wp-admin/includes/class-wp-users-list-table.php +++ b/src/wp-admin/includes/class-wp-users-list-table.php @@ -300,6 +300,7 @@ class WP_Users_List_Table extends WP_List_Table { current_action() ) { $editable_roles = get_editable_roles(); $role = $_REQUEST['new_role']; + // Mocking the `none` role so we are able to save it to the database + $editable_roles['none'] = array( + 'name' => __( '— No role for this site —' ), + ); + if ( ! $role || empty( $editable_roles[ $role ] ) ) { wp_die( __( 'Sorry, you are not allowed to give users that role.' ), 403 ); } + if ( 'none' === $role ) { + $role = ''; + } + $userids = $_REQUEST['users']; $update = 'promote'; foreach ( $userids as $id ) {