after_switch_theme 钩子主要是用来在切换主题时加载你想要实现的功能,并且只会执行一次。

从钩子作用上来说,这个钩子可以做一些有趣的事情。切换至当前主题的时候重定向至主题设置页面、添加演示数据(添加一些Post、新建几个Useer)等等,切换至其他主题的时候销毁一些当前主题产生的“影响”(缓存、设置等)、删除演示数据等等。比较实用的功能是自动刷新URL重写规则,见 WordPress 之自定义链接 (Rewrite)

实例
WordPress让主题激活后跳转到设置页

<?php add_action('after_switch_theme', 'Init_theme');
function Init_theme($oldthemename){
  global $pagenow;

  if ( 'themes.php' == $pagenow && isset( $_GET['activated'] ) ) {
    // options-general.php 改成你的主题设置页面网址
    wp_redirect( admin_url( 'options-general.php' ) );
    exit;
  }
}; ?>