Verwenden Sie möglicherweise die wp_redirect()
Funktion im Aktivierungshaken. Im folgenden Beispiel myplugin_settings
ist ein Platzhalter. Normalerweise ist dies einfach das $hook_suffix
, von dem Sie zurückkehren $hook_suffix = add_menu_page( /* etc. */ );
und ähnliche Funktionen.
DIESER CODE FUNKTIONIERT NICHT, LESEN SIE UNTEN
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' ) ) );
}
Verweise:
- Aktivierungshaken registrieren
- admin_url ()
BEARBEITEN
Die Umleitung innerhalb des Aktivierungs-Hooks scheint ausgeführt zu werden, bevor das Plugin effektiv aktiviert wird, möglicherweise aufgrund des Aufrufs von exit (), bevor die Aktivierung ausgeführt wird. Dieser Code scheint gut zu funktionieren, wenn activated_plugin action hoook verwendet wird:
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' );
Wenn Sie diesen Code außerhalb der Haupt-Plugin-Datei verwenden, müssen Sie den __FILE__
Pfad der Haupt-Plugin-Datei neu eingeben .
HABE GEDACHT
Das Umleiten des Benutzers nach der Aktivierung Ihres Plugins ist kein guter Ansatz. In Wordpress können Sie Plugins in loser Schüttung aktivieren. Was passiert dann, wenn Sie in dieser Situation eine Umleitung durchführen? Sie werden die Aktivierung einiger Plugins unterbrechen, möglicherweise nicht, wenn Ihr Plugin das letzte ist, das aktiviert wird, aber definitiv brechen Sie die Benutzererfahrung.
exit;
Anruf die Aktivierung abbrechen.'options-general.php?page=myplugin_settings'
in eine andere und gültige URL geändert haben . Wie auch immer, derexit
in der Aktivierung befindliche Haken wird ausgeführt, bevor das Plugin effektiv aktiviert wird, so dass es nicht funktioniert. Ich habe die Antwort mit einem neuen Arbeitscode bearbeitet.Du solltest es so machen können:
AKTUALISIEREN
Auch wenn es sich um einen Inline-Kommentar handelt, bedenken Sie Folgendes:
Spezifisches Beispiel
UPDATE 29.10.2013
Es wurde nicht erwähnt, aber bitte beachten Sie, dass meine Lösung die Möglichkeit bietet, zu überprüfen, ob dies der Fall ist, oder nicht, eine Weiterleitung zur Plugin-Einstellungsseite durchzuführen. Überprüfen Sie
my_plugin_activate
und die if Bedingung inmy_plugin_redirect
.Ich hoffe es hilft!
quelle
exit()
um die gebenwp_redirect()
?Hallo, ich habe nach der Aktivierung des Plugins die Balg-Code-Umleitung verwendet. Sie können diesen Code verwenden. Es funktioniert gut.
quelle