Jalara Studio

Plugin- und Theme-Dateien in WordPress 4.9.0 & 4.9.1 bearbeiten

#


In einigen WordPress-Installationen mit der WordPress-Version 4.9.0 oder 4.9.1 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.

Plugin Health Check

In diesem Fall kann das Deaktivieren der Plugins, die Sessions verwenden, bereits das Problem lösen. Zu den betroffenen Plugins gehören beispielsweise ShortPixel Image Optimizer 4.8.4 *, Keep Backup Daily 1.8.6, WP-SpamShield 1.9.21 (Wurde November 2017 aus dem Verzeichnis entfernt.), WP Server Stats 1.5.7* oder WP-clone-template 2.0.

* Bereits ein Update erschienen.

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.

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.‹:

Core editieren (nicht empfohlen)

Wer keine Lösung findet und nicht jedesmal das Plugin oder Theme 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) b. z. w. Zeile 492 (Version 4.9.1) die Bedingung verändern:

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

Zum Beispiel in:

492 if ( $is_active && ' ' === $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 du aus Gründen der Sicherheit die betroffene Funktion im Core nicht berühren willst, kannst du bis du die Lösung gefunden hast, ein Editor-Plugin wie Theme Editor4 verwenden, mit dem das Bearbeiten der Plugin- und Theme-Dateien im Backend ebenfalls möglich ist.5

Downgrade

Im Release Archiv6 findest du ältere WordPress-Versionen. Bis zur WordPress-Version 3.9 werden alle mit Sicherheitsupdates versorgt und können daher für ein Downgrade verwendet werden. Neben dem selbständigem 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 Downgrade7 nutzen:

Nachdem du die gewünschte Versionsnummer in den Plugin-Einstellungen eingegeben hast, kannst du diese im Bereich Aktualisierungen installieren:

Anschließend kannst du das Plugin WP Downgrade wieder löschen.

Links