WP_Customize_Manager::stop_previewing_theme()publicWP 3.4.0

Stops previewing the selected theme.

Removes filters to change the active theme.

Method of the class: WP_Customize_Manager{}

Hooks from the method

Return

null. Nothing (null).

Usage

$WP_Customize_Manager = new WP_Customize_Manager();
$WP_Customize_Manager->stop_previewing_theme();

Changelog

Since 3.4.0 Introduced.

WP_Customize_Manager::stop_previewing_theme() code WP 6.4.3

public function stop_previewing_theme() {
	if ( ! $this->is_preview() ) {
		return;
	}

	$this->previewing = false;

	if ( ! $this->is_theme_active() ) {
		remove_filter( 'template', array( $this, 'get_template' ) );
		remove_filter( 'stylesheet', array( $this, 'get_stylesheet' ) );
		remove_filter( 'pre_option_current_theme', array( $this, 'current_theme' ) );

		// @link: https://core.trac.wordpress.org/ticket/20027
		remove_filter( 'pre_option_stylesheet', array( $this, 'get_stylesheet' ) );
		remove_filter( 'pre_option_template', array( $this, 'get_template' ) );

		// Handle custom theme roots.
		remove_filter( 'pre_option_stylesheet_root', array( $this, 'get_stylesheet_root' ) );
		remove_filter( 'pre_option_template_root', array( $this, 'get_template_root' ) );
	}

	/**
	 * Fires once the Customizer theme preview has stopped.
	 *
	 * @since 3.4.0
	 *
	 * @param WP_Customize_Manager $manager WP_Customize_Manager instance.
	 */
	do_action( 'stop_previewing_theme', $this );
}