wpseek.com
				A WordPress-centric search engine for devs and theme authors
			check_theme_switched › WordPress Function
Since3.3.0
Deprecatedn/a
› check_theme_switched ( No parameters )
| Defined at: | 
 | 
| Codex: | 
Checks if a theme has been changed and runs 'after_switch_theme' hook on the next WP load.
See {@see 'after_switch_theme'}.Related Functions: wp_clean_themes_cache, ms_is_switched, is_locale_switched, wp_clean_theme_json_cache, is_theme_paused
	Source
function check_theme_switched() {
	$stylesheet = get_option( 'theme_switched' );
	if ( $stylesheet ) {
		$old_theme = wp_get_theme( $stylesheet );
		// Prevent widget & menu mapping from running since Customizer already called it up front.
		if ( get_option( 'theme_switched_via_customizer' ) ) {
			remove_action( 'after_switch_theme', '_wp_menus_changed' );
			remove_action( 'after_switch_theme', '_wp_sidebars_changed' );
			update_option( 'theme_switched_via_customizer', false );
		}
		if ( $old_theme->exists() ) {
			/**
			 * Fires on the next WP load after the theme has been switched.
			 *
			 * The parameters differ according to whether the old theme exists or not.
			 * If the old theme is missing, the old name will instead be the slug
			 * of the old theme.
			 *
			 * See {@see 'switch_theme'}.
			 *
			 * @since 3.3.0
			 *
			 * @param string   $old_name  Old theme name.
			 * @param WP_Theme $old_theme WP_Theme instance of the old theme.
			 */
			do_action( 'after_switch_theme', $old_theme->get( 'Name' ), $old_theme );
		} else {
			/** This action is documented in wp-includes/theme.php */
			do_action( 'after_switch_theme', $stylesheet, $old_theme );
		}
		flush_rewrite_rules();
		update_option( 'theme_switched', false );
	}
}