In wp-admin/includes/update-core.php
finden wir die folgende Zeile:
add_action( '_core_updated_successfully', '_redirect_to_about_wordpress' );
Ich möchte diese Aktion entfernen, deshalb 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 macht ... nichts. Ich werde immer noch umgeleitet. Getestet mit Installationen an einem Standort und an mehreren Standorten.
Ich vermisse wie immer etwas Offensichtliches. :)
Wie geht es besser?
Aktualisieren
Basierend auf Bradys 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 es wird keine andere Aktion aufgerufen. Sie können das Plugin auf GitHub herunterladen . Verwenden Sie es als reguläres Plugin oder als MU-Plugin.
redirect
upgrade
mu-plugins
Fuxia
quelle
quelle
_core_updated_successfully
von @Brady erwähnte Aktion scheint in 3.8. * (> 3.7 ??) zu fehlen. Irgendwelche Ideen für einen Ersatz?/wp-admin/includes/update-core.php
am Ende der Datei.Antworten:
Entfernen Sie die Aktion nicht, sondern fügen Sie Ihre eigene hinzu. Wenn Sie die Aktion entfernen, wird nie die Meldung angezeigt, dass das Upgrade erfolgreich durchgeführt wurde. Hier können Sie Ihre eigenen Informationen darüber bereitstellen, was als nächstes zu tun ist.
Ich weiß, dass Sie im Chat gezeigt haben, dass Sie Schwierigkeiten beim Entfernen der Aktion hatten. Deshalb habe ich mich auf die Suche nach einer Lösung gemacht, bei der die Aktion nicht entfernt, sondern eine hinzugefügt wird.
Der obige Code ist eine Kopie der Kernfunktion, die er einbindet,
_core_updated_successfully
aber die Umleitung und einige Nachrichten entfernt.Wie Sie sehen, befindet sich
exit();
am Ende der Funktion eine. Wenn Sie diese Funktion vor der anderen einhaken, sollte der Ausgang verhindern, dass weitere Haken ausgelöst werden.quelle