WordPress at a glance
action is not described

after_switch_theme action-hook . WP 3.3.0

Fires on the first WP load after a theme switch if the old theme still exists.

This action fires multiple times and the parameters differs according to the context, if the old theme exists or not. If the old theme is missing, the parameter will be the slug of the old theme.

Usage

add_action( 'after_switch_theme', 'action_function_name_9044', 10, 2 );
function action_function_name_9044( $old_name, $old_theme ){
	// action...
}
$old_name(string)
Old theme name.
$old_theme(WP_Theme)
WP_Theme instance of the old theme.

Changelog

Since 3.3.0 Introduced.

Where the hook is called

check_theme_switched()
after_switch_theme
wp-includes/theme.php 3302
do_action( 'after_switch_theme', $old_theme->get( 'Name' ), $old_theme );
wp-includes/theme.php 3305
do_action( 'after_switch_theme', $stylesheet, $old_theme );

Where in WP core the hook is used WordPress

wp-includes/default-filters.php 320
add_action( 'after_switch_theme', '_wp_menus_changed' );
wp-includes/default-filters.php 321
add_action( 'after_switch_theme', '_wp_sidebars_changed' );
wp-includes/theme.php 3283
remove_action( 'after_switch_theme', '_wp_menus_changed' );
wp-includes/theme.php 3284
remove_action( 'after_switch_theme', '_wp_sidebars_changed' );