Jalara Studio

veröffentlicht am

Plugin- und Theme-Dateien in WordPress 4.9 bearbeiten

#


In einigen WordPress-Installationen mit der WordPress-Version 4.9 ist das Bearbeiten der PHP-Dateien nur möglich, wenn das jeweilig zu bearbeitende Plugin oder Theme nicht aktiv geschaltet ist.

Ist dies nicht der Fall, erscheint in den betroffenen Sites der Hinweis: ›Kommunikation mit der Website, um auf fatale Fehler zu prüfen, nicht möglich, daher wurde die PHP-Änderung rückgängig gemacht. Du wirst deine verändere PHP-Datei mit anderen Mitteln hochladen müssen, wie per SFTP.‹ (engl. Unable to communicate back with site to check for fatal errors, so the PHP change was reverted. You will need to upload your PHP file change by some other means, such as by using SFTP.):

Funktion wp_edit_theme_plugin_file()

Verantwortlich hierfür ist die mit WordPress 4.9.0 neu hinzugekommene Funktion wp_edit_theme_plugin_file() in der Datei file.php im Verzeichnis /wp-admin/includes/1. Leider enthalten einige Plugins oder auch Themes Code, die das Ausführen der Funktion verhindern.

Plugins deaktivieren

In diesem Fall kann bereits das Deaktivieren der Plugins, die Sessions verwenden, das Problem lösen. Zu den betroffenen Plugins gehör(t)en beispielsweise WP Antivirus, ShortPixel Image Optimizer 4.8.4 *, Keep Backup Daily 1.8.6, WP-SpamShield 1.9.21**, WP Server Stats 1.5.7*, WP-clone-template 2.0 und WPBakery Page Builder (früher Visual Composer).

* Bereits ein Update erschienen.
** Wurde November 2017 auf Grund eines WP-Dramas aus dem Verzeichnis entfernt. Das Plugin wird weiter als Premium-Plugin gepflegt und kann bei codecanyon für $16 erworben werden.

Plugin Health Check

Wer nicht jedes Mal erneut ein Test im Editor vornehmen möchte, kann das Plugin Health Check 0.6.02 installieren und aktivieren. Wird innerhalb des Tabs Health Check (DashboardHealth Check) – neben dem Punkt Loopback request – der Hinweis ›The loopback request to your site completed successfully.‹ ausgegeben, wurde das richtige Plugin deaktiviert. Solange möglicherweise das betroffene Plugin aktiv ist, erscheint hier die Ausgabe ›The loopback request to your site took too long to complete, this may prevent WP_Cron from working, along with theme and plugin editors.‹:

Theme wechseln

Können weiterhin die bearbeiteten PHP-Dateien nicht über den Editor gespeichert werden, kann zur Prüfung des Themes eines der Standard-Themes (z.B. Twenty Seventeen) aktiviert werden.

Core editieren (nicht empfohlen)

Wer keine Lösung findet oder nicht jedesmal das Plugin zum Speichern deaktivieren möchte, kann die Zeilen 491 bis 598 in der Datei file.php auskommentieren3 oder in Zeile 491 (Version 4.9.0) bzw. Zeile 492 (Version 4.9.4) die Bedingung verändern:

492 if ( $is_active && 'php' === $extension ) {

Zum Beispiel in:

492 if ( $is_active && '123' === $extension ) {

Anschließend ist das Bearbeiten der Theme- und Plugin-Dateien wieder möglich.

Hinweis: Auch wenn die Datei beim nächsten Update wieder überschrieben wird, sollte der Core nur in Testumgebungen editiert werden.

Editor-Plugin

Wenn die oben genannten Methoden dein Problem nicht lösen konnten, kannst du WordPress downgraden oder ein Editor-Plugin wie Theme Editor4 verwenden, mit dem das Bearbeiten der Plugin- und Theme-Dateien im Backend ebenfalls möglich ist:

Downgrade

Hinweis: Auch wenn ein Downgrade üblicherweise relativ problemlos gelingt, prüfe zuvor ob ein aktuelles Backup angelegt wurde.

Im Release Archiv5 findest du ältere WordPress-Versionen. Bis zur WordPress-Version 3.7 werden alle Versionen automatisch mit Sicherheitsupdates versorgt und können daher für ein Downgrade verwendet werden. Neben dem manuellen Entfernen und Überschreiben der Dateien mit Hilfe eines FTP-Programmes (lösche hierbei nicht den Ordner wp-content, die .htaccess-Datei und die Datei wp-config.php), kannst du auch das Plugin WP Downgrade6 nutzen, mit dem du mit wenigen Klicks wieder eine vorherige Version nutzen kannst:

Nach dem du das Plugin installiert und aktiviert hast, kannst du die gewünschte Versionsnummer in den Plugin-Einstellungen eingegeben und anschließend diese WordPress-Version im Bereich Aktualisierungen installieren:

Sobald die Installation nach ein paar Sekunden abgeschlossen ist, kannst du das Plugin WP Downgrade löschen und mit dem folgenden Codeschnipsel, eingefügt in die Datei functions.php oder ein seitenspezifisches Plugin, die Upgrade-Benachrichtigung (engl. update nag) im Backend bzw. Admin-Bereich entfernen:

function hide_wp_update_nag() {
    if ( is_admin() ) {
        remove_action( 'admin_notices', 'update_nag', 3 );
        remove_filter( 'update_footer', 'core_update_footer' );
    }
}
add_action( 'admin_menu', 'hide_wp_update_nag' );

Hinweis: Beachte bei einem Downgrade auf eine der regelmäßig aktualisierten WordPress-Versionen (3.7.x, 3.8.x, 3.9.x, 4.0.x, 4.1.x, 4.2.x, 4.3.x, 4.4.x, 4.5.x, 4.6.x, 4.7.x oder 4.8.x), dass einige Plugins Features aus den neueren Mayor-Versionen für ihre Funktionstüchtigkeit benötigen könnten. Nutzt du beispielsweise die aktuelle Version des Plugins WooCommerce, so kannst du nur bis zur WordPress-Version 4.7.x downgraden. Welche WordPress-Version ein Plugin erfordert, erfährst du im Adminbereich Plugins mit Klick auf Details ansehen oder im Adminbereich Plugins hinzufügen mit Klick auf Weitere Details, sowie im offiziellen Plugin-Verzeichnis auf der Seite des Plugins in den Plugin-Informationen (rechts).

Links

Buchempfehlung

Anzeige | Affiliate-Link*

Wer wissen möchte, wie man Word­Press mit Hilfe von Plugins und Themes aus­bauen kann, dem sei das 312 Seiten starke Taschen­buch WordPress für Ent­wickler: Crash­kurs des Web­ent­wick­lers David Remer empfohlen.