wp_attach_theme_preview_middleware()
Adds a middleware to apiFetch to set the theme for the preview. 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.
No Hooks.
Returns
null. Nothing (null).
Usage
wp_attach_theme_preview_middleware();
Changelog
| Since 6.3.0 | Introduced. |
wp_attach_theme_preview_middleware() wp attach theme preview middleware code WP 6.9.1
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'
);
}