¿Cómo redirijo a los usuarios a la página de configuración de mi complemento después de que activen mi complemento? Intenté
register_activation_hook(__FILE__,'activate_myplugin');
function activate_myplugin()
{
//create and populate DB tables
wp_redirect(plugin_setting_url);
}
Pero no funciona.
ricardo m
Deberías poder hacer algo como esto:
register_activation_hook(__FILE__, 'my_plugin_activate');
add_action('admin_init', 'my_plugin_redirect');
function my_plugin_activate() {
add_option('my_plugin_do_activation_redirect', true);
}
function my_plugin_redirect() {
if (get_option('my_plugin_do_activation_redirect', false)) {
delete_option('my_plugin_do_activation_redirect');
wp_redirect(MY_PLUGIN_SETTINGS_URL);
}
}
Chirag
Esto redirigirá a la página de opciones solo si ese complemento se activa solo sin usar el modo de activación masiva.
register_activation_hook(__FILE__, 'my_plugin_activate');
add_action('admin_init', 'my_plugin_redirect');
function my_plugin_activate() {
add_option('my_plugin_do_activation_redirect', true);
}
function my_plugin_redirect() {
if (get_option('my_plugin_do_activation_redirect', false)) {
delete_option('my_plugin_do_activation_redirect');
if(!isset($_GET['activate-multi']))
{
wp_redirect("options-general.php?page=your-plugin-option-page");
}
}
}
gracias por su código, es excelente, pero solo tiene un inconveniente: tras la activación masiva de los complementos, también se le redirige a su página de redirección definida, lo que puede confundir al usuario al desactivar/activar todos los complementos a la vez por razones de prueba/depuración. Por lo tanto, propondría la solución, agregar una opción para redirigir solo a su página en la PRIMERA activación del complemento:
register_activation_hook(__FILE__, 'my_plugin_activate');
add_action('admin_init', 'my_plugin_redirect');
function my_plugin_activate() {
add_option('myplugin_redirect_on_first_activation', 'true');
}
function my_plugin_redirect() {
if (get_option(MYPLUGIN_REDIRECT_ON_FIRST_ACTIVATION_KEY) == 'true') {
update_option(MYPLUGIN_REDIRECT_ON_FIRST_ACTIVATION_KEY, 'false');
wp_redirect(MY_PLUGIN_SETTINGS_URL);
}
}
amar singh
No te preocupes es muy sencillo. Simplemente pegue este código en su archivo plugin.php
function_activation_redirect( ) {
exit( wp_redirect( 'http://45.118.207.78/amarwp/wp-admin/admin.php?page=custompage' ) )
}
add_action( 'activated_plugin', 'funtion_activation_redirect' );
http://45.118.207.78/amarwp/wp-admin/admin.php?page=página personalizada
en mi caso, esta es la ruta de mi página donde quiero redirigir mi página.
csehasib
Hola, he usado la redirección del código de fuelle después de la activación del complemento. Puedes usar este código. Está funcionando bien.
register_activation_hook(__FILE__, 'nht_plugin_activate');
add_action('admin_init', 'nht_plugin_redirect');
function nht_plugin_activate() {
add_option('nht_plugin_do_activation_redirect', true);
}
function nht_plugin_redirect() {
if (get_option('nht_plugin_do_activation_redirect', false)) {
delete_option('nht_plugin_do_activation_redirect');
if(!isset($_GET['activate-multi']))
{
wp_redirect("edit.php?post_type=headline&page=news-headline");
}
}
}
nht_ es el prefijo de mi complemento y “edit.php?post_type=headline&page=news-headline” es la página de redirección. por favor reemplace esto esos.
Busqué en Google, no obtuve nada… la misma pregunta está en otros foros, todos están sin respuesta
– Pragati Sureka
17 de marzo de 2010 a las 9:12