Weiterleitung nach Plugin-Aktivierung

Lesezeit: 2 Minuten

Wie leite ich Benutzer auf meine Plugin-Einstellungsseite um, nachdem sie mein Plugin aktiviert haben, habe ich versucht

register_activation_hook(__FILE__,'activate_myplugin');
function activate_myplugin()
{
//create and populate DB tables
wp_redirect(plugin_setting_url);
}

aber es funktioniert nicht.

  • Ich habe bei Google gesucht, nichts gefunden … dieselbe Frage ist in einigen anderen Foren, alle sind unbeantwortet

    – Pragati Sureka

    17. März 2010 um 9:12 Uhr

Benutzeravatar von Richard M
Richard M

Sie sollten in der Lage sein, Folgendes zu tun:

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);
    }
}

Benutzeravatar von Chirag
Chirag

Dadurch wird nur dann zur Optionsseite umgeleitet, wenn dieses Plugin nur aktiviert ist, ohne den Massenaktivierungsmodus zu verwenden.

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");
        }
    }
}

danke für deinen Code – er ist großartig, hat aber nur einen Nachteil: Bei der Massenaktivierung von Plugins wirst du auch auf deine definierte Weiterleitungsseite umgeleitet – was den Benutzer verwirren könnte, wenn er alle Plugins auf einmal aus Test-/Debug-Gründen deaktiviert/aktiviert. Ich würde daher die Lösung vorschlagen, eine Option hinzuzufügen, um nur bei der ERSTEN Plugin-Aktivierung auf Ihre Seite umzuleiten:

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);
    }
}

Benutzeravatar von Amar Singh
Amar singh

Keine Sorge, es ist sehr einfach. Fügen Sie diesen Code einfach in Ihre plugin.php-Datei ein

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=custompage

In meinem Fall ist dies der Pfad meiner Seite, wohin ich meine Seite umleiten möchte.

Benutzeravatar von csehasib
csehasib

Hallo, ich habe nach der Plugin-Aktivierung die Weiterleitung des Balgcodes verwendet. Sie können diesen Code verwenden. Es funktioniert gut.

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_ ist mein Plugin-Präfix und “edit.php?post_type=headline&page=news-headline” ist die Weiterleitungsseite. Bitte ersetzen Sie diese.

1389310cookie-checkWeiterleitung nach Plugin-Aktivierung

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy