# wp_attach_theme_preview_middleware()

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

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

## Сигнатура

```php
wp_attach_theme_preview_middleware()
```

## Описание

Это добавляет параметр URL wp_theme_preview к запросам API из редактора сайта, чтобы они также отвечали так, будто тема установлена в значение этого параметра.

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

Файл: `wp-includes/theme-previews.php:42`

```php
function wp_attach_theme_preview_middleware() {
	// Don't allow non-admins to preview themes.
	if ( ! current_user_can( 'switch_themes' ) ) {
		return;
	}

	wp_add_inline_script(
		'wp-api-fetch',
		sprintf(
			'wp.apiFetch.use( wp.apiFetch.createThemePreviewMiddleware( %s ) );',
			wp_json_encode( sanitize_text_field( wp_unslash( $_GET['wp_theme_preview'] ) ), JSON_HEX_TAG | JSON_UNESCAPED_SLASHES )
		),
		'after'
	);
}
```

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

- 6.3.0 — Introduced.

## Связанные

Использует: [`wp_add_inline_script`](https://chugunov.pro/api-wordpress/functions/wp_add_inline_script/), [`wp_json_encode`](https://chugunov.pro/api-wordpress/functions/wp_json_encode/), [`current_user_can`](https://chugunov.pro/api-wordpress/functions/current_user_can/), [`sanitize_text_field`](https://chugunov.pro/api-wordpress/functions/sanitize_text_field/), [`wp_unslash`](https://chugunov.pro/api-wordpress/functions/wp_unslash/).

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