Wie kann man verhindern, dass wp-load.php von externen PHP-Skripten geladen wird?

Ich benutze schlank mit WordPress. Das hat bis jetzt einwandfrei funktioniert. Naja fast. Nachdem ich zu Multisite gewechselt hatte, musste ich mit dem Erstellen von $_SERVER Variablen beginnen, die einen Domainnamen $_SERVER . Aber es hat endlich funktioniert.

Was ich verwenden musste, war folgendes:

  global $_SERVER; $_SERVER['HTTP_HOST'] = 'www.mydomain.com'; $_SERVER['REQUEST_URI'] = '/'; require_once( __DIR__ .'/../../../wp-load.php' ); 

es fühlt sich falsch und sehr schwerfällig an, aber es nicht zu verwenden würde zu einem Fehler führen siehe hier (oder gilt das auch als Crosspost?):

https://stackoverflow.com/questions/37755976/wordpress-multisite-breaks-including-require-of-wp-load-php

Aber jetzt stieß ich auf folgendes Problem:

https://stackoverflow.com/questions/37912920/wp-load-php-disabled-the-ob-flush-to-work-correctly

Jetzt ist es irgendwie möglich, Zugang zu allen WordPress-functionen zu bekommen, ohne wp-load.php zu benutzen?

Das Problem, das mir bevorsteht, ist, dass wp-load.php irgendwie das Antwortobjekt verändert, so dass ich nicht mehr dazu in der Lage bin, es zu bündeln (siehe Link Hinweis: Ich denke, ich habe eine Lösung gefunden. Meine Frage bleibt: ist da ein richtiger Weg zu den WordPress-functionen anstelle von wp-load.php ?)

Solutions Collecting From Web of "Wie kann man verhindern, dass wp-load.php von externen PHP-Skripten geladen wird?"

Ziemlich viel wp-load.php ist der einzige Weg zu gehen. Ich glaube nicht, dass es wirklich eine andere Möglichkeit gibt, die WordPress-functionen sicher zu laden …

Sie können Pfadvariationen berücksichtigen, indem Sie sie rekursiv in jede Datei einfügen, in der Sie sie benötigen … z.

 function file_find_require($file,$folder=null) { if ($folder === null) {$folder = dirname(__FILE__);} $path = $folder.DIRECTORY_SEPARATOR.$file; if (file_exists($path)) {require($path); return $folder;} else { $upfolder = file_find_require($file,dirname($folder)); if ($upfolder != '') {return $upfolder;} } } $rootpath = file_find_require('wp-load.php');