So beheben Sie den Fehler Uncaught Error: Call to undefined function trailingslashit()

Haben Sie versucht, PHP auf Version 7.4, 8.0 oder 8.1 zu aktualisieren, und Ihre Website ist mit einem HTTP-Fehler 500 und der Fehlermeldung „Uncaught Error: Call to undefined function trailingslashit()" ausgefallen?

Der Fehler „Call to undefined function trailingslashit()" tritt typischerweise in WordPress-Projekten auf. Er entsteht, wenn der Code die Funktion trailingslashit() aufruft, PHP sie jedoch nicht finden kann. Diese Funktion ist normalerweise in der WordPress-Core-Datei wp-includes/formatting.php definiert.

Um den Fehler „undefined trailingslashit" zu beheben, gehen Sie folgendermaßen vor:

  1. Prüfen Sie, ob wp-includes/formatting.php vorhanden und nicht beschädigt ist:

Stellen Sie sicher, dass die Datei formatting.php im Verzeichnis wp-includes Ihrer WordPress-Installation existiert. Wenn die Datei fehlt oder beschädigt ist, müssen Sie sie möglicherweise erneut aus einer frischen WordPress-Kopie hochladen. Sie können die neueste Version von WordPress unter https://wordpress.org/download/ herunterladen.

  1. Stellen Sie sicher, dass die Datei wp-load.php korrekt eingebunden wird:

Stellen Sie in Ihrem eigenen Plugin oder Theme sicher, dass Sie die Datei wp-load.php eingebunden haben, bevor Sie die Funktion trailingslashit() aufrufen. Diese Datei ist dafür verantwortlich, die WordPress-Umgebung und die Core-Funktionen zu laden. Sie können sie mit dem folgenden Codeausschnitt einbinden:

PHP
require_once(ABSPATH . 'wp-load.php');

Wenn Sie den Pfad zu wp-load.php nicht kennen, können Sie ihn mit dem folgenden Codeausschnitt ermitteln:

PHP
$wp_load = dirname(__FILE__) . '/wp-load.php';
while (!file_exists($wp_load)) {
    $wp_load = dirname(dirname($wp_load)) . '/wp-load.php';
    if (dirname(dirname($wp_load)) === '/') {
        break;
    }
}
require_once($wp_load);
  1. Auf in Konflikt stehende Funktionsnamen prüfen:

Es ist möglich, dass ein anderes Plugin oder Theme eine Funktion mit demselben Namen trailingslashit definiert hat. Wenn dies der Fall ist, können Sie das in Konflikt stehende Plugin deaktivieren oder zu einem anderen Theme wechseln, um das Problem zu beheben.

  1. Manuelle Funktionsdeklaration:

Als letzten Ausweg können Sie die Funktion trailingslashit() manuell in Ihrem Plugin oder Theme definieren. Dies sollte jedoch nach Möglichkeit vermieden werden, da es in Zukunft zu Konflikten und Kompatibilitätsproblemen führen kann. Falls Sie sie manuell definieren müssen, hier ist die Funktionsdefinition:

PHP
if (!function_exists('trailingslashit')) {
    function trailingslashit($string) {
        return rtrim($string, '/') . '/';
    }
}

Denken Sie daran, vor jeder Änderung an Ihrer WordPress-Installation Ihre Dateien und Datenbank zu sichern. Das ist ein guter Zeitpunkt, um die Änderungen zuerst auf einer Staging-Site auszuprobieren oder zuvor mit WP Staging ein vollständiges Backup der Website zu erstellen.

Verwandte Artikel

Rene Hermenau

Autor: Rene Hermenau

Über den Autor: René Hermenau ist Gründer von WP STAGING. Er arbeitet an WordPress-Backups, Staging, Migrationen, Datenbankverarbeitung und sicheren Deployment-Workflows.