私はワードプレスで スリム を使用します。これは今までのところ完璧に機能しました。よくほとんど。マルチサイトに移行したら、ドメイン名を偽装した$_SERVER
変数の作成を偽造し始める必要がありました。しかし、それはついにうまくいきました。
私が使用しなければならなかったのはこれです:
global $_SERVER;
$_SERVER['HTTP_Host'] = 'www.mydomain.com';
$_SERVER['REQUEST_URI'] = '/';
require_once( __DIR__ .'/../../../wp-load.php' );
それは間違っていて非常に不器用だと感じますが、それを使わないとここに見られるようなエラーになるでしょう(あるいはクロスポストとしてもカウントされますか?):
しかし今、私は次の問題に遭遇しました:
https://stackoverflow.com/questions/37912920/wp-load-php-disabling-the-ob-flush-to-work-correctly
今何とかwp-load.phpを使用せずにすべてのワードプレス機能にアクセスすることは可能ですか?
私が直面している問題は、wp-load.phpがどういうわけかレスポンスオブジェクトを変更することで、それをフラッシュできなくなったことです(リンクノートを参照:私は問題の解決策を見つけたと思います。 wp-load.php
の代わりにwordpress関数を使うより正しい方法?)
ほとんどの場合、wp-load.php
が唯一の方法です。安全にWordPressの機能をロードするための他の方法は本当にないと思います...
あなたがそれを必要とするどんなファイルからでもそれを再帰的に含めることによってあなたはパス変化を説明することができます...例えば。
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');