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.
exit;
chamada está cortando a ativação.'options-general.php?page=myplugin_settings'
para algo diferente e válido. De qualquer forma, oexit
gancho de ativação é executado antes que o plug-in seja efetivamente ativado, portanto não funciona. Editei a resposta com um novo código de trabalho.Você deve conseguir fazer o seguinte:
ATUALIZAR
Mesmo se for um comentário embutido, lembre-se:
Exemplo específico
ATUALIZAÇÃO 29/10/2013
Não foi mencionado, mas observe que minha solução oferece a capacidade de verificar se é o caso ou não de redirecionar para a página de configurações do plug-in. Verifique
my_plugin_activate
e se a condição estivermy_plugin_redirect
.Espero que ajude!
fonte
exit()
torno dowp_redirect()
?Olá, usei o seguinte redirecionamento de código após a ativação do plugin. Você pode usar esse código. Está funcionando bem.
fonte