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;
}
}; ?>