das Problem
Kurze Zusammenfassung
Symptome
Warum passiert das
Voraussetzungen vor Beginn
Lösung 1: Korrigieren Sie den Funktionsaufruf.
Lösung 2: Überprüfen Sie die Erweiterungen
Lösung 3: Auf Plugin-Konflikte prüfen
Nachkorrekturprüfungen
Wenn das immer noch nicht funktioniert
Häufige Fallstricke und Fehler
Variante / Alternative
Vermeiden Sie dieses Problem in Zukunft
Ressourcen
Häufig gestellte Fragen
das Problem
Wenn Sie Ihr Frontend-Admin-Plugin kürzlich auf Version 3.28.31 aktualisiert haben und die folgende Fehlermeldung erhalten haben:
Fatal error: Uncaught Error: Call to undefined function ...
Diese Meldung kann sowohl in der Administrationsoberfläche als auch im Frontend Ihrer Website erscheinen, oft direkt nach einem Plugin-Update. Dieser Artikel ist für Sie gedacht, wenn Sie auf dieses Problem stoßen und es schnell beheben möchten. Am Ende werden Sie in der Lage sein, diesen Fehler zu diagnostizieren und zu beheben, um Ihre Website wieder einwandfrei zum Laufen zu bringen.
Kurze Zusammenfassung
- Überprüfen Sie, ob das Frontend-Admin-Plugin korrekt aktualisiert wurde.
- Stellen Sie sicher, dass alle erforderlichen Erweiterungen aktiviert sind.
- Testen Sie die Änderungen in einer Testumgebung, bevor Sie sie in der Produktionsumgebung vornehmen.
- Nutzen Sie Diagnosetools wie Query Monitor.
- Prüfen Sie die Protokolle auf weitere Fehler.
Symptome
- Fehler 500 im Frontend oder im Adminbereich Ihrer Website.
- Weißer Bildschirm des Todes (WSOD).
- Plugin-Funktionen funktionieren nicht oder sind defekt.
- Fehlermeldungen in der Browserkonsole, falls das Problem mit AJAX zusammenhängt.
Warum passiert das
Meistens tritt dieses Problem aufgrund einer Inkompatibilität zwischen dem Frontend-Admin-Plugin und einem anderen Plugin oder Theme auf, oder aufgrund einer fehlenden oder falsch aufgerufenen Funktion im Code.
Für Anfänger bedeutet dies, dass ein Teil des Codes des Frontend-Admin-Plugins versucht, eine Funktion aufzurufen, die entweder nicht geladen ist oder nicht existiert. Fortgeschrittene Benutzer könnten die Ursache in schlecht strukturierten bedingten Funktionsaufrufen oder in einem Problem beim Laden von PHP-Dateien finden.
Hier einige häufige Gründe:
- Unvollständiges oder beschädigtes Plugin-Update.
- Konflikt mit anderen kürzlich aktualisierten Plugins.
- Funktion abhängig von einer deaktivierten PHP-Erweiterung oder einem deaktivierten Modul.
- Funktionsaufruf, bevor die zugehörige Datei in den Ladevorgang einbezogen wird.
Voraussetzungen vor Beginn
- Sichern Sie Ihre Website, bevor Sie Änderungen vornehmen.
- Erstellen Sie eine Testumgebung, um die Korrekturen zu testen.
- Stellen Sie sicher, dass WordPress auf dem neuesten Stand ist (Version 6.9.4) und PHP auf Version 8.1 oder höher.
- Installieren Sie Diagnose-Plugins wie z. B. Abfrage-Monitor et Gesundheitscheck.
- Aktivieren Sie WP_DEBUG, um PHP-Fehler anzuzeigen.
Lösung 1: Korrigieren Sie den Funktionsaufruf.
Dieses Problem kann durch einen fehlerhaften Funktionsaufruf in der Plugin-Datei verursacht werden. So beheben Sie es:
// Code AVANT
function my_custom_function() {
// Erreur potentielle ici : appel à une fonction non chargée
some_undefined_function();
}
// Code APRÈS
function my_custom_function() {
if (function_exists('some_undefined_function')) {
some_undefined_function();
} else {
error_log('some_undefined_function n'existe pas');
}
}
Erklärung:
- if (function_exists(...)) : Prüft vor dem Aufruf, ob die Funktion definiert ist.
- Fehlerprotokoll(...): Protokollieren Sie den Fehler, wenn die Funktion nicht definiert ist, um die Diagnose zu erleichtern.
Wo der Code angewendet werden soll: In der functions.php-Datei Ihres Child-Themes oder in einem spezifischen Plugin, falls die Funktion an Ihre Bedürfnisse angepasst wurde.
Speichern Sie Ihre Dateien immer, bevor Sie PHP-Dateien bearbeiten!
Beispiel für zusätzlichen Code
Ein weiteres Beispiel wäre die Sicherstellung, dass Ihr Code den entsprechenden Hook verwendet, um eine Funktion auszuführen, nachdem WordPress vollständig geladen wurde:
add_action('wp_loaded', 'my_custom_function');
function my_custom_function() {
if (function_exists('some_undefined_function')) {
some_undefined_function();
} else {
error_log('some_undefined_function n'existe pas');
}
}
Durch die Verwendung von add_action('wp_loaded', ...)Sie stellen sicher, dass die Funktion erst aufgerufen wird, nachdem WordPress und alle Plugins vollständig geladen wurden, wodurch das Risiko von Fehlern aufgrund nicht geladener Funktionen minimiert wird.
Lösung 2: Überprüfen Sie die Erweiterungen
Manchmal kann der Fehler durch fehlende PHP-Erweiterungen oder -Module verursacht werden. So beheben Sie das Problem:
- Stellen Sie eine Verbindung zu Ihrem Server über SSH her oder verwenden Sie einen Dateimanager.
- Prüfen Sie, ob alle notwendigen PHP-Erweiterungen installiert und aktiviert sind, z. B. „mbstring“, „curl“ usw.
- In der Frontend-Admin-Dokumentation finden Sie Informationen darüber, welche Erweiterungen erforderlich sind.
Nachdem Sie die fehlenden Erweiterungen überprüft und installiert haben, starten Sie Ihren Webserver gegebenenfalls neu.
Um zu überprüfen, welche PHP-Erweiterungen aktiviert sind, können Sie eine Datei erstellen. phpinfo.php im Stammverzeichnis Ihrer Website mit folgendem Inhalt:
<?php
phpinfo();
?>
Als Nächstes können Sie über Ihren Browser auf diese Datei zugreifen, um die Liste der aktivierten Erweiterungen anzuzeigen.
Lösung 3: Auf Plugin-Konflikte prüfen
Ein weiteres häufiges Problem sind Konflikte mit anderen Plugins. So können Sie das Problem diagnostizieren:
- Deaktivieren Sie alle Plugins außer Frontend Admin.
- Überprüfen Sie, ob der Fehler weiterhin besteht.
- Reaktivieren Sie die Plugins nacheinander, um herauszufinden, welches den Konflikt verursacht.
Sollte ein Konflikt festgestellt werden, wenden Sie sich bitte an die Entwickler des betreffenden Plugins, um eine Lösung zu finden, oder verwenden Sie eine Alternative.
Eine weitere fortgeschrittene Methode besteht in der Verwendung der Erweiterung Plugin Organizer um die Reihenfolge zu verwalten, in der Plugins geladen werden, wodurch manchmal Konflikte gelöst werden können.
Nachkorrekturprüfungen
- Laden Sie Ihre Website neu, um zu überprüfen, ob der Fehler nicht mehr auftritt.
- Mit Query Monitor stellen Sie sicher, dass keine neuen Fehler protokolliert werden.
- Testen Sie alle Funktionen des Plugins, um sicherzustellen, dass sie ordnungsgemäß funktionieren.
Es ist unerlässlich, nach der Problembehebung auch die Leistungsfähigkeit Ihrer Website zu überprüfen, um sicherzustellen, dass keine weiteren Probleme aufgetreten sind.
Wenn das immer noch nicht funktioniert
- Prüfen Sie Ihren Browser-Cache und leeren Sie ihn gegebenenfalls.
- Überprüfen Sie die Dateipfade, um sicherzustellen, dass die Plugin-Dateien korrekt geladen werden.
- Überprüfen Sie die Dateiberechtigungen, um sicherzustellen, dass sie korrekt sind.
- Überprüfen Sie die Browserkonsole auf JavaScript-Fehler, die das Plugin beeinträchtigen könnten.
- Generieren Sie die Permalinks über die WordPress-Einstellungen neu.
Wenn Sie einen CDN-Dienst nutzen, sollten Sie auch den CDN-Cache leeren.
Häufige Fallstricke und Fehler
| Symptom | Mögliche Ursache | Empfohlene Lösung |
|---|---|---|
| weißer Bildschirm | PHP-Fehler werden nicht angezeigt | Aktivieren Sie WP_DEBUG, um Fehler anzuzeigen. |
| Fehler nach dem Update | Plugin teilweise aktualisiert | Laden Sie das Plugin erneut herunter und installieren Sie es neu. |
| Funktion nicht gefunden | Funktionsaufruf vor dem Laden | Überprüfen Sie die Reihenfolge des Ladens der Dateien. |
| PHP-Syntaxfehler | Fehlerhafte Codeänderungen | Prüfen Sie, ob es kürzlich Änderungen gab, und korrigieren Sie die Syntax. |
Variante / Alternative
Wer den Code lieber nicht bearbeiten möchte, kann ein PHP-Fehlerbehandlungs-Plugin wie beispielsweise verwenden. WP PHP-Fehler kann Ihnen dabei helfen, Fehler zu erfassen und zu verwalten, ohne PHP-Dateien manuell bearbeiten zu müssen.
Vermeiden Sie dieses Problem in Zukunft
- Aktualisieren Sie Plugins und Themes immer in einer Testumgebung, bevor Sie sie in der Produktionsumgebung einsetzen.
- Führen Sie eine Liste der für jedes verwendete Plugin benötigten PHP-Erweiterungen.
- Überprüfen Sie regelmäßig die Fehlerprotokolle, um Probleme zu erkennen, bevor sie kritisch werden.
- Beteiligen Sie sich an den Supportforen des Plugins, um über bekannte Fehler und Lösungen informiert zu bleiben.
Ressourcen
Häufig gestellte Fragen
Warum stürzt meine Website nach einem Update ab?
Dies kann auf Plugin-Konflikte, unvollständige Aktualisierungen oder deaktivierte PHP-Funktionen zurückzuführen sein.
Wie kann ich WP_DEBUG aktivieren?
hinzufügen define('WP_DEBUG', true); in Ihrer wp-config.php-Datei.
Was, wenn ich das Problem nicht lösen kann?
Für eine gründliche Diagnose sollten Sie einen erfahrenen WordPress-Entwickler konsultieren.
Kann ich das Plugin deaktivieren, falls ein Problem auftritt?
Ja, deaktivieren Sie es über die Administrationsoberfläche oder per FTP, indem Sie den Plugin-Ordner umbenennen.
Sollte ich meine Website vor jedem Update immer sichern?
Selbstverständlich ermöglicht Ihnen dies, Ihre Website im Problemfall wiederherzustellen.