# wp_set_password()

URL: https://chugunov.pro/api-wordpress/functions/wp_set_password/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 2.5.0.

## Сигнатура

```php
wp_set_password( string $password, int $user_id )
```

## Описание

Для интеграции с другими приложениями эту функцию можно переопределить, чтобы использовать алгоритм проверки паролей из другого пакета.
Обратите внимание: эту функцию следует применять экономно, она действительно предназначена только для однократного использования. Неправильное её использование в плагине или теме может привести к бесконечному циклу сбросов пароля, если не принять меры, гарантирующие, что она не выполняется при каждой загрузке страницы.

## Параметры

- `$password` `string` — обязательный. Новый пароль пользователя в виде открытого текста.
- `$user_id` `int` — обязательный. ID пользователя.

## Исходный код

Файл: `wp-includes/pluggable.php:3099`

```php
function wp_set_password(
	#[\SensitiveParameter]
	$password,
	$user_id
) {
	global $wpdb;

	$old_user_data = get_userdata( $user_id );

	$hash = wp_hash_password( $password );
	$wpdb->update(
		$wpdb->users,
		array(
			'user_pass'           => $hash,
			'user_activation_key' => '',
		),
		array( 'ID' => $user_id )
	);

	clean_user_cache( $user_id );

	/**
	 * Fires after the user password is set.
	 *
	 * @since 6.2.0
	 * @since 6.7.0 The `$old_user_data` parameter was added.
	 *
	 * @param string  $password      The plaintext password just set.
	 * @param int     $user_id       The ID of the user whose password was just set.
	 * @param WP_User $old_user_data Object containing user's data prior to update.
	 */
	do_action( 'wp_set_password', $password, $user_id, $old_user_data );
}
```

## История изменений

- 6.8.0 — The password is now hashed using bcrypt by default instead of phpass.
- 2.5.0 — Introduced.

## Связанные

Использует: [`wp_hash_password`](https://chugunov.pro/api-wordpress/functions/wp_hash_password/), [`clean_user_cache`](https://chugunov.pro/api-wordpress/functions/clean_user_cache/), `wpdb::update`, [`get_userdata`](https://chugunov.pro/api-wordpress/functions/get_userdata/), [`do_action`](https://chugunov.pro/api-wordpress/functions/do_action/).
Используется в: [`wp_authenticate_email_password`](https://chugunov.pro/api-wordpress/functions/wp_authenticate_email_password/), [`reset_password`](https://chugunov.pro/api-wordpress/functions/reset_password/), [`wp_authenticate_username_password`](https://chugunov.pro/api-wordpress/functions/wp_authenticate_username_password/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/wp_set_password/
