Wie kann verhindert werden, dass nach dem Core-Upgrade auf “About” umgeleitet wird?

In wp-admin/includes/update-core.php finden wir folgende Zeile:

 add_action( '_core_updated_successfully', '_redirect_to_about_wordpress' ); 

Ich möchte diese Aktion entfernen, also habe ich ein mu-Plugin mit folgendem Inhalt erstellt:

 <?php # -*- coding: utf-8 -*- add_action( '_core_updated_successfully', 't5_no_redirect_after_update', 0 ); function t5_no_redirect_after_update() { remove_action( '_core_updated_successfully', '_redirect_to_about_wordpress' ); } 

Es tut … nichts. Ich werde immer noch umgeleitet. Getestet mit Single-Site- und Multi-Site-Installationen.

Ich denke, ich vermisse wie immer etwas Offensichtliches. 🙂
Wie geht es besser?

Aktualisieren

Basierend auf Brady’s Antwort baue ich eine sehr minimale Version:

 <?php # -*- coding: utf-8 -*- /* Plugin Name: T5 No redirect after core upgrade. */ add_action( '_core_updated_successfully', 't5_no_redirect_after_update', 0 ); function t5_no_redirect_after_update() { show_message( __('WordPress updated successfully') ); // Include admin-footer.php and exit include(ABSPATH . 'wp-admin/admin-footer.php'); exit; } 

Jetzt sehen wir die Erfolgsmeldung und keine andere Aktion wird aufgerufen. Sie können das Plugin auf GitHub herunterladen . Verwenden Sie es als reguläres Plugin oder als MU-Plugin.

Solutions Collecting From Web of "Wie kann verhindert werden, dass nach dem Core-Upgrade auf “About” umgeleitet wird?"

Entferne die Aktion nicht, sondern füge deine eigene hinzu. Wenn Sie die Aktion entfernen, erhalten Sie nie die Nachricht, dass sie erfolgreich aktualisiert wurde. Hier können Sie Ihre eigenen Informationen darüber, was als nächstes zu tun ist, angeben.

 function tp_dont_redirect_to_about_wordpress( $new_version ) { global $wp_version, $pagenow, $action; if ( version_compare( $wp_version, '3.4-RC1', '>=' ) ) return; // Ensure we only run this on the update-core.php page. wp_update_core() could be called in other contexts. if ( 'update-core.php' != $pagenow ) return; if ( 'do-core-upgrade' != $action && 'do-core-reinstall' != $action ) return; // Load the updated default text localization domain for new strings load_default_textdomain(); // See do_core_upgrade() show_message( __('WordPress updated successfully') ); show_message( '' . sprintf( __( 'Welcome to WordPress %1$s. Learn more.' ), $new_version, esc_url( self_admin_url( 'about.php?updated' ) ) ) . '' ); echo ''; // Include admin-footer.php and exit include(ABSPATH . 'wp-admin/admin-footer.php'); exit(); } add_action( '_core_updated_successfully', 'tp_dont_redirect_to_about_wordpress', 1, 1 ); 

Ich weiß, dass Sie im Chat gezeigt haben, dass Sie Schwierigkeiten hatten, die Aktion zu entfernen, also suchte ich nach einer Lösung, die die Aktion nicht löscht, sondern vorher eine hinzufügt.

Der obige Code ist eine Kopie der corefunktion, die er an _core_updated_successfully aber die Umleitung und einige Nachrichten _core_updated_successfully .

Wie Sie sehen können, gibt es einen exit(); am Ende der function, also wenn Sie diese function vor die andere haken, sollte der Ausgang jeden weiteren Haken vom Feuern abhalten.