W3cubDocs

/WordPress

wp_attach_theme_preview_middleware()

Adds a middleware to apiFetch to set the theme for the preview.

Description

This adds a wp_theme_preview URL parameter to API requests from the Site Editor, so they also respond as if the theme is set to the value of the parameter.

Source

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'] ) ) )
		),
		'after'
	);
}

Changelog

Version Description
6.3.0 Introduced.

© 2003–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/wp_attach_theme_preview_middleware