GC_Customize_Manager::start_previewing_theme()
最后更新于:2021-11-27 02:28:30
GC_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.
源文件
文件: gc-includes/class-gc-customize-manager.php
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.gechiui.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 GC_Customize_Manager $this GC_Customize_Manager instance.
*/
do_action( 'start_previewing_theme', $this );
}