get_password_reset_key( WP_User $user ): string|WP_Error

In this article

Creates, stores, then returns a password reset key for user.

Parameters

$userWP_Userrequired
User to retrieve password reset key for.

Return

string|WP_Error Password reset key on success. WP_Error on error.

Source

function get_password_reset_key( $user ) {	if ( ! ( $user instanceof WP_User ) ) {	return new WP_Error( 'invalidcombo', __( '<strong>Error:</strong> There is no account with that username or email address.' ) );	}	/** * Fires before a new password is retrieved. * * Use the 'retrieve_password' hook instead. * * @since 1.5.0 * @deprecated 1.5.1 Misspelled. Use 'retrieve_password' hook instead. * * @param string $user_login The user login name. */	do_action_deprecated( 'retreive_password', array( $user->user_login ), '1.5.1', 'retrieve_password' );	/** * Fires before a new password is retrieved. * * @since 1.5.1 * * @param string $user_login The user login name. */	do_action( 'retrieve_password', $user->user_login );	$password_reset_allowed = wp_is_password_reset_allowed_for_user( $user );	if ( ! $password_reset_allowed ) {	return new WP_Error( 'no_password_reset', __( 'Password reset is not allowed for this user' ) );	} elseif ( is_wp_error( $password_reset_allowed ) ) {	return $password_reset_allowed;	}	// Generate something random for a password reset key.	$key = wp_generate_password( 20, false );	/** * Fires when a password reset key is generated. * * @since 2.5.0 * * @param string $user_login The username for the user. * @param string $key The generated password reset key. */	do_action( 'retrieve_password_key', $user->user_login, $key );	$hashed = time() . ':' . wp_fast_hash( $key );	$key_saved = wp_update_user(	array(	'ID' => $user->ID,	'user_activation_key' => $hashed,	)	);	if ( is_wp_error( $key_saved ) ) {	return $key_saved;	}	return $key; } 

Hooks

do_action_deprecated( ‘retreive_password’, string $user_login )

Fires before a new password is retrieved.

do_action( ‘retrieve_password’, string $user_login )

Fires before a new password is retrieved.

do_action( ‘retrieve_password_key’, string $user_login, string $key )

Fires when a password reset key is generated.

Changelog

VersionDescription
4.4.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.