wppaste
WordPress

do_action( 'set_user_role', int $user_id, string $role, string[] $old_roles )

Since
2.9.0, 3.6.0
Fires after the user's role has changed.

Compatibility

WordPress
since 3.6.0
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in every tracked release (6.7.7 to 7.1.0).

Parameters

$user_idint
The user ID.
$rolestring
The new role.
$old_rolesstring[]
An array of the user's previous roles.

Where this hook fires · 1

  • wp-includes/class-wp-user.php:663WP_User::set_role()

Source code

		 * @since 3.6.0 Added `$old_roles` to include an array of the user's previous roles.		 *		 * @param int      $user_id   The user ID.		 * @param string   $role      The new role.		 * @param string[] $old_roles An array of the user's previous roles.		 */		do_action( 'set_user_role', $this->ID, $role, $old_roles );	} 	/**	 * Chooses the maximum level the user has.	 *	 * Will compare the level from the $item parameter against the $max

Changelog

Introduced in 2.9.0. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

3.6.0
Added $old_roles to include an array of the user's previous roles.from the docblock
2.9.0
Introduced.from the docblock

About this page

Parsed data
Generated from the wordpress-develop 7.0.4 tag, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.