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_8031', 10, 2 );
function action_function_name_8031( $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 2974
do_action( 'after_switch_theme', $old_theme->get( 'Name' ), $old_theme );
wp-includes/theme.php 2977
do_action( 'after_switch_theme', $stylesheet, $old_theme );

Where in WP core the hook is used

wp-includes/default-filters.php 303
add_action( 'after_switch_theme', '_wp_menus_changed' );
wp-includes/default-filters.php 304
add_action( 'after_switch_theme', '_wp_sidebars_changed' );
wp-includes/theme.php 2955
remove_action( 'after_switch_theme', '_wp_menus_changed' );
wp-includes/theme.php 2956
remove_action( 'after_switch_theme', '_wp_sidebars_changed' );