質問: をロードするための最良の方法は何ですか wp 私のマルチサイトwordpressインストールのサブドメインの環境? wp multisiteのサブフォルダをインストールしました。「domain.com」としましょう。"sub1.domain.com"、 "sub2.domain.com"、... "subn.domain.com"など、domain.comのサブドメインにwp環境を読み込む必要があります。これらのサブドメインはwpブログには対応していません。しかし、私はログインしたユーザー、データベースなどにアクセスする必要があります。特定のサブドメインに必要なものを表示するphpファイルをロードするようにワイルドカードサブドメインを設定しました。そのファイルの最初の部分に "wp-load.php"を含めます。問題は、$ _server ['http_host']がメインサイトのドメインではなくサブドメインであるため、 "ms-settings.php"の99行目付近でサイトのメインページにリダイレクトされることです。では、どうすればwp環境をブログ以外のサブドメインに正しくロードできますか?私はうまくいくプロトタイプを持っています、しかし私は私がやっていることの副作用について心配しているので、コアに精通している誰かが体重を量ることができるならばそれは素晴らしいことです。私がしていることは "wp-load"をインクルードする前に$ current_siteと$ current_blogのグローバルを適切に事前設定することです。それから、 "ms-settings"はこれらを作成しようとせず、サブドメインを検出してフロントページにリダイレクトするコードパスにヒットしません。私は今(例えば 'get_userdata'を使用して)メンバー情報と$ wpdbにアクセスすることができます。これは合理的な方法のようですか?
回答: 私はこの質問で尋ねたのと同じことを試みていたので、wp-load.phpをインクルードする前に$ _server変数を偽装するまでリダイレクトを回避できませんでした。define('wp_use_themes', false); define( 'domain_current_site', $siterow['domain'] ); define( 'path_current_site', '/' ); define( 'site_id_current_site', 1 ); define( 'blog_id_current_site', $siterow['wp_blog_id'] ); $_server = array( "http_host" => $siterow['domain'], "server_name" => $siterow['domain'], "request_uri" => "/", "request_method" => "get" ); $ siterow配列は私自身のサイト設定です、あなたが必要とするもので変数を更新してください。リダイレクトせず、すべてのwp機能を自由に使用できます。楽しい。