可能使用wp_redirect()
激活挂钩中的功能。在以下示例中myplugin_settings
是占位符。通常这只是$hook_suffix
你从$hook_suffix = add_menu_page( /* etc. */ );
和类似功能。
THIS CODE DOESN\'T WORK, READ BELOW
register_activation_hook(__FILE__, \'cyb_activation\');
function cyb_activation()
{
// Don\'t forget to exit() because wp_redirect doesn\'t exit automatically
exit( wp_redirect( admin_url( \'options-general.php?page=myplugin_settings\' ) ) );
}
参考文献:
- Register activation hook
- admin_url()
EDIT
激活挂钩内的重定向似乎是在插件有效激活之前执行的,可能是因为在激活执行之前调用了exit()。使用
activated_plugin 行动挂钩:
function cyb_activation_redirect( $plugin ) {
if( $plugin == plugin_basename( __FILE__ ) ) {
exit( wp_redirect( admin_url( \'options-general.php?page=myplugin_settings\' ) ) );
}
}
add_action( \'activated_plugin\', \'cyb_activation_redirect\' );
如果在主插件文件之外使用此代码,则需要替换
__FILE__
带有主插件文件的路径。
THOUGHT
在插件激活后重定向用户不是一个很好的方法。在Wordpress中,您可以批量激活插件。如果在这种情况下执行重定向,会发生什么情况?你会破坏一些插件的激活,如果你的插件是最后一个被激活的,可能不会,但你肯定会破坏用户体验。