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.


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

Where the hook is called

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

Where the hook is used (in WP core)

wp-includes/default-filters.php 291
add_action( 'after_switch_theme', '_wp_menus_changed' );
wp-includes/default-filters.php 292
add_action( 'after_switch_theme', '_wp_sidebars_changed' );
wp-includes/theme.php 2734
remove_action( 'after_switch_theme', '_wp_menus_changed' );
wp-includes/theme.php 2735
remove_action( 'after_switch_theme', '_wp_sidebars_changed' );