Talvez usando a wp_redirect()
função no gancho de ativação. No exemplo a seguir myplugin_settings
é um espaço reservado. Normalmente, isso é simplesmente o $hook_suffix
motivo de você voltar$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:
- Registrar gancho de ativação
- admin_url ()
EDITAR
O redirecionamento dentro do gancho de ativação parece ser executado antes que o plug-in seja efetivamente ativado, talvez por causa da chamada de exit () antes da execução da ativação. Esse código parece funcionar bem usando o hoook de ação enabled_plugin:
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 principal do plug-in, precisará repetir o __FILE__
caminho do arquivo principal do plug-in.
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 acontecerá se você executar um redirecionamento nessa situação? Você interromperá a ativação de alguns plug-ins, talvez não se o seu último plugin for ativado, mas definitivamente você está quebrando a experiência do usuário.