# wp_get_https_detection_errors()

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

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

## Сигнатура

```php
wp_get_https_detection_errors(): array
```

## Описание

Эта функция проверяет поддержку HTTPS, выполняя HTTP-запрос. Поскольку этот процесс может быть ресурсоёмким, использовать его следует осмотрительно, особенно в чувствительных к производительности окружениях.
Она вызывается, когда нужно проверить поддержку HTTPS.

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

`array`

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

Файл: `wp-includes/https-detection.php:94`

```php
function wp_get_https_detection_errors() {
	/**
	 * Short-circuits the process of detecting errors related to HTTPS support.
	 *
	 * Returning a `WP_Error` from the filter will effectively short-circuit the default logic of trying a remote
	 * request to the site over HTTPS, storing the errors array from the returned `WP_Error` instead.
	 *
	 * @since 6.4.0
	 *
	 * @param null|WP_Error $pre Error object to short-circuit detection,
	 *                           or null to continue with the default behavior.
	 */
	$support_errors = apply_filters( 'pre_wp_get_https_detection_errors', null );
	if ( is_wp_error( $support_errors ) ) {
		return $support_errors->errors;
	}

	$support_errors = new WP_Error();

	$response = wp_remote_request(
		home_url( '/', 'https' ),
		array(
			'headers'   => array(
				'Cache-Control' => 'no-cache',
			),
			'sslverify' => true,
		)
	);

	if ( is_wp_error( $response ) ) {
		$unverified_response = wp_remote_request(
			home_url( '/', 'https' ),
			array(
				'headers'   => array(
					'Cache-Control' => 'no-cache',
				),
				'sslverify' => false,
			)
		);

		if ( is_wp_error( $unverified_response ) ) {
			$support_errors->add(
				'https_request_failed',
				__( 'HTTPS request failed.' )
			);
		} else {
			$support_errors->add(
				'ssl_verification_failed',
				__( 'SSL verification failed.' )
			);
		}

		$response = $unverified_response;
	}

	if ( ! is_wp_error( $response ) ) {
		if ( 200 !== wp_remote_retrieve_response_code( $response ) ) {
			$support_errors->add( 'bad_response_code', wp_remote_retrieve_response_message( $response ) );
		} elseif ( false === wp_is_local_html_output( wp_remote_retrieve_body( $response ) ) ) {
			$support_errors->add( 'bad_response_source', __( 'It looks like the response did not come from this site.' ) );
		}
	}

	return $support_errors->errors;
}
```

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

- 6.4.0 — Introduced.

## Связанные

Использует: [`wp_is_local_html_output`](https://chugunov.pro/api-wordpress/functions/wp_is_local_html_output/), [`wp_remote_request`](https://chugunov.pro/api-wordpress/functions/wp_remote_request/), [`wp_remote_retrieve_response_code`](https://chugunov.pro/api-wordpress/functions/wp_remote_retrieve_response_code/), [`wp_remote_retrieve_response_message`](https://chugunov.pro/api-wordpress/functions/wp_remote_retrieve_response_message/), [`wp_remote_retrieve_body`](https://chugunov.pro/api-wordpress/functions/wp_remote_retrieve_body/), [`__`](https://chugunov.pro/api-wordpress/functions/__/), [`home_url`](https://chugunov.pro/api-wordpress/functions/home_url/), [`apply_filters`](https://chugunov.pro/api-wordpress/functions/apply_filters/), [`is_wp_error`](https://chugunov.pro/api-wordpress/functions/is_wp_error/), `WP_Error::__construct`.
Используется в: [`wp_update_https_detection_errors`](https://chugunov.pro/api-wordpress/functions/wp_update_https_detection_errors/), [`wp_is_https_supported`](https://chugunov.pro/api-wordpress/functions/wp_is_https_supported/), `WP_Site_Health::get_test_https_status`.

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