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.10
  • 6.8.11
  • 6.9.10
  • 7.0.7
  • 7.1.3

Present in every tracked release (6.7.10 to 7.1.3).

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:655WP_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.10 through 7.1.3.

  1. 6.7.10
  2. 6.8.11
  3. 6.9.10
  4. 7.0.7
  5. 7.1.3

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 6.7.10 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.