# wp_generate_password()

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

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

## Сигнатура

```php
wp_generate_password( int $length = 12, bool $special_chars = true, bool $extra_special_chars = false ): string
```

## Описание

Использует wp_rand() для создания паролей с гораздо меньшей предсказуемостью, чем у аналогичных встроенных функций PHP, таких как rand() или mt_rand().

## Параметры

- `$length` `int` — необязательный, по умолчанию `12`. Длина генерируемого пароля.
- `$special_chars` `bool` — необязательный, по умолчанию `true`. Включать ли стандартные специальные символы.
- `$extra_special_chars` `bool` — необязательный, по умолчанию `false`. Включать ли прочие специальные символы.
  
  Используется при генерации секретных ключей и солей.

## Возвращаемое значение

`string`

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

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

```php
function wp_generate_password( $length = 12, $special_chars = true, $extra_special_chars = false ) {
	$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
	if ( $special_chars ) {
		$chars .= '!@#$%^&*()';
	}
	if ( $extra_special_chars ) {
		$chars .= '-_ []{}<>~`+=,.;:/?|';
	}

	$password = '';
	for ( $i = 0; $i < $length; $i++ ) {
		$password .= substr( $chars, wp_rand( 0, strlen( $chars ) - 1 ), 1 );
	}

	/**
	 * Filters the randomly-generated password.
	 *
	 * @since 3.0.0
	 * @since 5.3.0 Added the `$length`, `$special_chars`, and `$extra_special_chars` parameters.
	 *
	 * @param string $password            The generated password.
	 * @param int    $length              The length of password to generate.
	 * @param bool   $special_chars       Whether to include standard special characters.
	 * @param bool   $extra_special_chars Whether to include other special characters.
	 */
	return apply_filters( 'random_password', $password, $length, $special_chars, $extra_special_chars );
}
```

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

- 2.5.0 — Introduced.

## Связанные

Использует: [`wp_rand`](https://chugunov.pro/api-wordpress/functions/wp_rand/), [`apply_filters`](https://chugunov.pro/api-wordpress/functions/apply_filters/).
Используется в: [`wp_generate_block_templates_export_file`](https://chugunov.pro/api-wordpress/functions/wp_generate_block_templates_export_file/), [`wp_ajax_nopriv_generate_password`](https://chugunov.pro/api-wordpress/functions/wp_ajax_nopriv_generate_password/), `WP_Application_Passwords::create_new_application_password`, `WP_Recovery_Mode_Key_Service::generate_recovery_mode_token`, `WP_Recovery_Mode_Key_Service::generate_and_store_recovery_mode_key`, `WP_Recovery_Mode_Cookie_Service::generate_cookie`, `WP_Recovery_Mode_Cookie_Service::recovery_mode_hash`, [`wp_generate_user_request_key`](https://chugunov.pro/api-wordpress/functions/wp_generate_user_request_key/), [`wp_privacy_generate_personal_data_export_file`](https://chugunov.pro/api-wordpress/functions/wp_privacy_generate_personal_data_export_file/), [`wp_filter_oembed_result`](https://chugunov.pro/api-wordpress/functions/wp_filter_oembed_result/), [`get_post_embed_html`](https://chugunov.pro/api-wordpress/functions/get_post_embed_html/), [`get_password_reset_key`](https://chugunov.pro/api-wordpress/functions/get_password_reset_key/), [`wp_ajax_generate_password`](https://chugunov.pro/api-wordpress/functions/wp_ajax_generate_password/), `WP_Session_Tokens::create`, [`network_step2`](https://chugunov.pro/api-wordpress/functions/network_step2/), [`display_setup_form`](https://chugunov.pro/api-wordpress/functions/display_setup_form/), [`wp_install`](https://chugunov.pro/api-wordpress/functions/wp_install/), [`wp_tempnam`](https://chugunov.pro/api-wordpress/functions/wp_tempnam/), [`wp_salt`](https://chugunov.pro/api-wordpress/functions/wp_salt/), [`register_new_user`](https://chugunov.pro/api-wordpress/functions/register_new_user/), [`wpmu_activate_signup`](https://chugunov.pro/api-wordpress/functions/wpmu_activate_signup/), [`generate_random_password`](https://chugunov.pro/api-wordpress/functions/generate_random_password/).

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