Umleiten zu einer Willkommensseite nach dem Aktualisieren des Plugins

Ich arbeite an einem Update für ein WordPress-Plugin mit einigen wichtigen Änderungen und muss diese Änderungen dem Benutzer erklären, nachdem sie das Plugin aktualisiert haben. Ich bin in der Lage, den Benutzer zu einer Willkommensseite umzuleiten, wenn sie das Plugin manuell installieren, da ich den Aktivierungshaken verwenden kann, aber es funktioniert nicht, wenn sie das Plugin von der WordPress Plugins Seite aktualisieren.

Die aktuelle Methode, die ich verwende, legt einen Transient im Aktivierungs-Hook fest:

set_transient( '_abc_activation_redirect', true, 30 ); 

Und leitet dann den Benutzer um, wenn der Transient vorhanden ist:

 add_action( 'admin_init', 'abc_welcome_screen_do_activation_redirect' ); function abc_welcome_screen_do_activation_redirect() { // Bail if no activation redirect if ( ! get_transient( '_abc_activation_redirect' ) ) return; // Delete the redirect transient delete_transient( '_abc_activation_redirect' ); // Bail if activating from network, or bulk if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) return; wp_safe_redirect( admin_url( 'index.php?page=abc-welcome-page' ) ); exit; } 

Ist es möglich, den Benutzer auf eine Willkommensseite umzuleiten, nachdem er das Plugin auf der WordPress Plugins Seite aktualisiert hat? Ich konnte die Antwort nirgends finden!

Vielen Dank im Voraus!

Solutions Collecting From Web of "Umleiten zu einer Willkommensseite nach dem Aktualisieren des Plugins"

Vor ein paar Jahren gab es eine Diskussion über das Hinzufügen von register_update_hook() aber es wurde noch nie auf dem core implementiert. Die Idee war, einen Haken zu haben, genau wie wir ihn für die Aktivierung register_activation_hook .

Ich bin mir nicht sicher, aber ich nehme an, dass wenn ein Plugin aktualisiert wird, es sich vorher deaktiviert und im Hintergrund reaktiviert wird. Wenn dies der Fall ist, müssten Sie wahrscheinlich die function register_activation_hook verwenden und eine Option mit add_option (siehe Code unten).

Wenn meine Annahme falsch ist, versuchen Sie, eine Deaktivierung des Plugins zu erzwingen , wenn der Benutzer auf die Aktualisierungsschaltfläche klickt, damit Sie den Hook verwenden können.

 register_activation_hook(__FILE__, 'my_plugin_update'); add_action('admin_init', 'my_plugin_redirect'); function my_plugin_update() { add_option('my_plugin_do_update_redirect', true); } function my_plugin_redirect() { if (get_option('my_plugin_do_update_redirect', false)) { delete_option('my_plugin_do_update_redirect'); wp_redirect('index.php?page=abc-welcome-page'); } } 

Ich denke, es ist eine sehr schlechte Idee, den Benutzer während eines Plugin-Update-processes umzuleiten. Es gibt mehrere mögliche Probleme, die ich damit sehe.

Wenn ein Plugin über eine Ajax-Anfrage aktualisiert wird, lädt eine Antwort mit einer Weiterleitung diese Seite nicht im Browserfenster des Benutzers.

Ich nehme auch an, dass Plugins voraussichtlich während des Update-Vorgangs keine Inhalte wie Redirect-Header ausgeben.