wp-load.php richtig einbinden

Wer eigene WordPress Plugins entwickelt, der weiß welch mächtige Funktionen dabei genutzt werden können, wenn man alle notwendigen Dateien korrekt einbindet. Hat man beispielsweise ein eigenes Skript, dass via Cronjob aufgerufen wird und WordPress Funktionen nutzt, so ist die Datei wp-load.php sehr hilfreich. Doch wie bindet man diese richtig ein, so dass der Pfad zur wp-load.php immer gefunden wird?

Was ist die wp-load.php eigentlich?

Die Datei wp-load.php ist eine zentrale Komponente in der Architektur von WordPress. Sie fungiert als eine Art Initialisierungsdatei, die benötigt wird, um die WordPress-Umgebung und -Funktionen in einem externen Skript oder einer benutzerdefinierten PHP-Datei zu laden. Dies ist besonders wichtig, wenn du außerhalb des WordPress-Ökosystems arbeitest, aber trotzdem auf WordPress-Funktionen wie Datenbankabfragen, Benutzerverwaltung oder diverse API-Funktionen zugreifen möchten.

Wenn du die wp-load.php in deinem Skript einbindest, wird im Wesentlichen das gesamte WordPress-Framework geladen. Das bedeutet, dass du auf alle Standardfunktionen, Hooks und Klassen von WordPress zugreifen kannst, als ob du innerhalb eines Plugins oder eines Themes arbeiten würdest. Ziemlich cool, oder? Dies eröffnet eine Vielzahl von Möglichkeiten um spezifische Aufgaben außerhalb des normalen WordPress-Seitenanfragen-Zyklus durchführen zu können, wie beispielsweise die Ausführung von Skripten durch Cronjobs oder externe API-Interaktionen.

Wo finde ich die wp-load.php?

Die Datei wp-load.php befindet sich im Hauptverzeichnis deiner WordPress-Installation. Dies ist das Verzeichnis, in dem auch andere wichtige WordPress-Dateien wie wp-config.php, wp-admin und wp-content zu finden sind. Wenn du auf deinem Webserver oder über ein FTP-Programm navigierst, siehst du die wp-load.php typischerweise auf der obersten Ebene dieses WordPress-Hauptverzeichnisses.

Wie binde ich die wp-load.php richtig in mein Skript ein?

So einige Programmierer gehen immer von einer Verzeichnisebene aus und binden benötigte Zusatzdateien durch Verzeichniswechsel ein, wie z.B.:

require_once('../../../wp-load.php');

Doch das ist nicht der bevorzugte Weg!
Denn dieser Aufruf kann zu Fehlern führen und das Ausführen deines Skripts verhindern. Eine bessere Methode ist dafür diese:

$path = preg_replace( '/wp-content.*$/', '', __DIR__ );
require_once( $path . 'wp-load.php' );

Dabei wird die Konstante __DIR__ verwendet. Da die Datei entweder im Plugin- oder Theme-Ordner liegt, die sich immer im wp-content-Ordner befinden, kannst du einfach den Pfad der Datei abrufen und alles, was mit wp-content beginnt, abschneiden. Dann klappts auch mit dem Skript.

Quelle: https://wordpress.stackexchange.com/questions/26254/how-to-include-wp-load-php-from-any-location