Talvez seja possível usar a função wp_redirect()
no gancho de ativação. No exemplo a seguir, myplugin_settings
é um marcador de posição. Normalmente, isso é simplesmente o $hook_suffix
que você recebe de $hook_suffix = add_menu_page( /* etc. */ );
e funções similares.
ESTE CÓDIGO NÃO FUNCIONA, LEIA ABAIXO
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' ) ) );
}
Referências:
EDITAR
O redirecionamento dentro do gancho de ativação parece ser executado antes que o plugin seja efetivamente ativado, talvez por causa da chamada de exit () antes que a ativação seja executada. Este código parece funcionar bem com o activated_plugin action hoook:
function cyb_activation_redirect( $plugin ) {
if( $plugin == plugin_basename( __FILE__ ) ) {
exit( wp_redirect( admin_url( 'options-general.php' ) ) );
}
}
add_action( 'activated_plugin', 'cyb_activation_redirect' );
Se você usar esse código fora do arquivo de plug-in principal, será necessário repalciar __FILE__
com o caminho do arquivo de plug-in principal.
PENSAMENTO
Redirecionar o usuário depois que seu plug-in foi ativado não é uma abordagem muito boa. No Wordpress você pode ativar plugins em massa. O que acontece se você fizer um redirecionamento nessa situação? Você vai quebrar a ativação de alguns plugins, talvez não se o seu plugin for o último a ser ativado, mas definitivamente você está quebrando a experiência do usuário.