reset_password()WP 2.5.0

Сбрасывает (изменяет) пароль указанного пользователя.

Обновляет указанный пароль в БД, сбрасывает кэш пользователя и отключает уведомление о необходимости смены пароля.

Отличается от wp_set_password() тем, что вызывает хуки:

Работает на основе: wp_set_password()
Хуки из функции

Возвращает

null. Ничего (void).

Использование

reset_password(;
$user(WP_User) (обязательный)
Пользователь, чей пароль необходимо изменить.
$new_pass(строка) (обязательный)
Новый пароль для пользователя в открытом виде.

Примеры

0

#1 Сменим пароль пользователя программно

Пример кода, который выполняет сброс пароля для конкретного пользователя.

$user     = get_user_by( 'ID', 2 );
$new_pass = 'mynewpassword';

reset_password( $user, $new_pass );
0

#2 Смена пароля через GET-параметр

Добавьте код в functions.php, затем откройте сайт с ?change_pass=userlogin, чтобы установить пользователю новый пароль newpassword.

if ( isset( $_GET['change_pass'] ) ) 
{
	add_action( 'init', function () {
		$user = get_user_by( 'login', $_GET['change_pass'] );

		if ( $user ) {
			reset_password( $user, 'newpassword' );
		}
	} );
}

Список изменений

С версии 2.5.0 Введена.

Код reset_password() WP 6.8

function reset_password(
	$user,
	#[\SensitiveParameter]
	$new_pass
) {
	/**
	 * Fires before the user's password is reset.
	 *
	 * @since 1.5.0
	 *
	 * @param WP_User $user     The user.
	 * @param string  $new_pass New user password.
	 */
	do_action( 'password_reset', $user, $new_pass );

	wp_set_password( $new_pass, $user->ID );
	update_user_meta( $user->ID, 'default_password_nag', false );

	/**
	 * Fires after the user's password is reset.
	 *
	 * @since 4.4.0
	 *
	 * @param WP_User $user     The user.
	 * @param string  $new_pass New user password.
	 */
	do_action( 'after_password_reset', $user, $new_pass );
}