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_6842', 10, 2 );
function action_function_name_6842( $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 2907
do_action( 'after_switch_theme', $old_theme->get( 'Name' ), $old_theme );
wp-includes/theme.php 2910
do_action( 'after_switch_theme', $stylesheet, $old_theme );

Where the hook is used (in WP core)

wp-includes/default-filters.php 304
add_action( 'after_switch_theme', '_wp_menus_changed' );
wp-includes/default-filters.php 305
add_action( 'after_switch_theme', '_wp_sidebars_changed' );
wp-includes/theme.php 2888
remove_action( 'after_switch_theme', '_wp_menus_changed' );
wp-includes/theme.php 2889
remove_action( 'after_switch_theme', '_wp_sidebars_changed' );