wp_get_theme_preview_path()WP 6.3.0

Filters the blog option to return the path for the previewed theme.

No Hooks.

Returns

String. The previewed theme's stylesheet or template path.

Usage

wp_get_theme_preview_path( $current_stylesheet );
$current_stylesheet(string)
The current theme's stylesheet or template path.
Default: null

Changelog

Since 6.3.0 Introduced.

wp_get_theme_preview_path() code WP 6.9

function wp_get_theme_preview_path( $current_stylesheet = null ) {
	if ( ! current_user_can( 'switch_themes' ) ) {
		return $current_stylesheet;
	}

	$preview_stylesheet = ! empty( $_GET['wp_theme_preview'] ) ? sanitize_text_field( wp_unslash( $_GET['wp_theme_preview'] ) ) : null;
	$wp_theme           = wp_get_theme( $preview_stylesheet );
	if ( ! is_wp_error( $wp_theme->errors() ) ) {
		if ( current_filter() === 'template' ) {
			$theme_path = $wp_theme->get_template();
		} else {
			$theme_path = $wp_theme->get_stylesheet();
		}

		return sanitize_text_field( $theme_path );
	}

	return $current_stylesheet;
}