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_8675', 10, 2 );
function action_function_name_8675( $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 3279
do_action( 'after_switch_theme', $old_theme->get( 'Name' ), $old_theme );
wp-includes/theme.php 3282
do_action( 'after_switch_theme', $stylesheet, $old_theme );

Where in WP core the hook is used WordPress

wp-includes/theme.php 309
add_action( 'after_switch_theme', '_wp_menus_changed' );
wp-includes/theme.php 310
add_action( 'after_switch_theme', '_wp_sidebars_changed' );
wp-includes/theme.php 3260
remove_action( 'after_switch_theme', '_wp_menus_changed' );
wp-includes/theme.php 3261
remove_action( 'after_switch_theme', '_wp_sidebars_changed' );