WP_Customize_Manager::stop_previewing_theme()

In this article

Stops previewing the selected theme.

Description

Removes filters to change the active theme.

Source

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 );
}

Hooks

do_action( ‘stop_previewing_theme’, WP_Customize_Manager $manager )

Fires once the Customizer theme preview has stopped.

Changelog

VersionDescription
3.4.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.