WP_Customize_Manager::start_previewing_theme()
If the theme to be previewed isn't the active theme, add filter callbacks to swap it out at runtime.
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->start_previewing_theme();
Changelog
Since 3.4.0 | Introduced. |
WP_Customize_Manager::start_previewing_theme() WP Customize Manager::start previewing theme code WP 6.7.2
public function start_previewing_theme() { // Bail if we're already previewing. if ( $this->is_preview() ) { return; } $this->previewing = true; if ( ! $this->is_theme_active() ) { add_filter( 'template', array( $this, 'get_template' ) ); add_filter( 'stylesheet', array( $this, 'get_stylesheet' ) ); add_filter( 'pre_option_current_theme', array( $this, 'current_theme' ) ); // @link: https://core.trac.wordpress.org/ticket/20027 add_filter( 'pre_option_stylesheet', array( $this, 'get_stylesheet' ) ); add_filter( 'pre_option_template', array( $this, 'get_template' ) ); // Handle custom theme roots. add_filter( 'pre_option_stylesheet_root', array( $this, 'get_stylesheet_root' ) ); add_filter( 'pre_option_template_root', array( $this, 'get_template_root' ) ); } /** * Fires once the Customizer theme preview has started. * * @since 3.4.0 * * @param WP_Customize_Manager $manager WP_Customize_Manager instance. */ do_action( 'start_previewing_theme', $this ); }