# wp_safe_redirect()

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

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

## Сигнатура

```php
wp_safe_redirect( string $location, int $status = 302, string|false $x_redirect_by = 'WordPress' ): bool
```

## Описание

Проверяет, использует ли $location разрешённый хост, если у него есть абсолютный путь. Таким образом, плагин может добавить или удалить разрешённые хосты из списка.
Если хост не разрешён, то перенаправление по умолчанию идёт на wp-admin по адресу siteurl. Это предотвращает вредоносные перенаправления на другой хост, но применяется лишь в нескольких местах.
Примечание: wp_safe_redirect() не завершает выполнение автоматически, и почти всегда после него должен следовать вызов exit;:
wp_safe_redirect( $url );
exit;Завершением можно также выборочно управлять, используя wp_safe_redirect() в качестве условия совместно с фильтрами 'wp_redirect' и 'wp_redirect_status':
if ( wp_safe_redirect( $url ) ) {
exit;
}

## Параметры

- `$location` `string` — обязательный. Путь или URL, на который выполняется перенаправление.
- `$status` `int` — необязательный, по умолчанию `302`. Код статуса HTTP-ответа для использования. Значение по умолчанию '302' (Moved Temporarily).
- `$x_redirect_by` `string|false` — необязательный, по умолчанию `'WordPress'`. Приложение, выполняющее перенаправление, или false, чтобы не указывать. Значение по умолчанию 'WordPress'.

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

`bool`

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

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

```php
function wp_safe_redirect( $location, $status = 302, $x_redirect_by = 'WordPress' ) {

	// Need to look at the URL the way it will end up in wp_redirect().
	$location = wp_sanitize_redirect( $location );

	/**
	 * Filters the redirect fallback URL for when the provided redirect is not safe (local).
	 *
	 * @since 4.3.0
	 *
	 * @param string $fallback_url The fallback URL to use by default.
	 * @param int    $status       The HTTP response status code to use.
	 */
	$fallback_url = apply_filters( 'wp_safe_redirect_fallback', admin_url(), $status );

	$location = wp_validate_redirect( $location, $fallback_url );

	return wp_redirect( $location, $status, $x_redirect_by );
}
```

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

- 5.1.0 — The return value from wp_redirect() is now passed on, and the $x_redirect_by parameter was added.
- 2.3.0 — Introduced.

## Связанные

Использует: [`wp_sanitize_redirect`](https://chugunov.pro/api-wordpress/functions/wp_sanitize_redirect/), [`wp_validate_redirect`](https://chugunov.pro/api-wordpress/functions/wp_validate_redirect/), [`wp_redirect`](https://chugunov.pro/api-wordpress/functions/wp_redirect/), [`admin_url`](https://chugunov.pro/api-wordpress/functions/admin_url/), [`apply_filters`](https://chugunov.pro/api-wordpress/functions/apply_filters/).
Используется в: `WP_Sitemaps::redirect_sitemapxml`, `WP_Recovery_Mode::redirect_protected`, `WP_Recovery_Mode::handle_exit_recovery_mode`, [`set_screen_options`](https://chugunov.pro/api-wordpress/functions/set_screen_options/), `Custom_Background::take_action`.

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