Tal vez esté utilizando la función wp_redirect()
en el enlace de activación. En el siguiente ejemplo, myplugin_settings
es un marcador de posición. Normalmente, esto simplemente es el $hook_suffix
que recibe de $hook_suffix = add_menu_page( /* etc. */ );
y funciones similares.
ESTE CÓDIGO NO FUNCIONA, LEÍDO A CONTINUACIÓN
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' ) ) );
}
Referencias:
- Registrar gancho de activación
- admin_url ()
EDIT
El redireccionamiento dentro del enlace de activación parece realizarse antes de que el complemento se active efectivamente, tal vez debido a la llamada de exit () antes de que se ejecute la activación. Este código parece funcionar bien con enabled_plugin hoook de acción:
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' );
Si utiliza este código fuera del archivo del complemento principal, deberá volver a compilar __FILE__
con la ruta del archivo del complemento principal.
THOUGHT
Redirigir al usuario después de que se haya activado su complemento no es un buen enfoque. En Wordpress puedes activar complementos a granel. ¿Qué sucede entonces si realiza una redirección en esta situación? Interrumpirá la activación de algunos complementos, tal vez no si su complemento es el último que se está activando, pero definitivamente está rompiendo la experiencia del usuario.