2011-01-15 13 views
2

私は2つのドメイン名を強化しているWordpressを1回インストールしました。非常に簡単に言えば、サイトAには4つの静的ページがあり、サイトBには4つの静的ページがありますが、両方とも共有の共通のブログ投稿ページです。PHPを使用して条件付きでコードブロックをロードする方法は?

サイトAの上部には、他のサイトAページを指すナビゲーションバーがあり、サイトBには他のサイトBページを指すナビゲーションバーが必要です。

一般的なWordPressテーマを共有しているので、header.phpファイルでは、サイトAナビとサイトB navのコードブロックに対してPHP if文を入れたいと思います。しかし、私は実際にどのような状態を確認するのかよく分かりません。いくつかのページがサイトAに属しているとPHPに自分自身を識別させるいくつかの方法はありますか?

答えて

1

をあなたは右側のナビゲーションを表示するようにif文を使用し、その後、ヘッダーの呼び出しの前に、両方のサイト内の変数を設定することができます。

サイトA

<? 
$site = 'A'; 
require('header.php'); 
?> 

header.phpの

<? 
if($site == 'A') { 
    //Site A nav 
} else { 
    //Site B nav 
} 
?> 

あなたの2つのサイトが異なるドメイン名を持っている場合は、あなたが$_SERVERグローバルとそのオフキーで見ることができます代わりにheader.phpに直接ご連絡ください。

+0

この方法では、ヘッダーとそのヘッダーを含むページ間の結合が増加しますが、残念ながらこれを行う方法は100%信頼できる方法です。 $ _SERVERの変数を他のものが示すようにチェックすると、問題が発生する可能性があります。さらに悪いことに、問題はすぐには現れないかもしれません。 –

+0

マイケルに感謝します。その場合、Wordpressがどこにインストールされているかは重要ですか?今はサイトAのルートフォルダに存在します。私はサイトBの訪問者を '.htaccess'経由で単にリダイレクトすることを考えていましたが、全体的にこれはより良い戦略ですか? –

+0

変数を設定している場合、その変数のインストール場所は関係ありません。戦略に関しては、最終目標が何であるかは本当に重要です。 –

0

この2つのウェブサイトは、あなたが実行して検証することができ、別のドメイン名がある場合:

if($_SERVER['HTTP_HOST']=="sitea.com"){ 
    //code for site a 
} else { 
    //code for site b 
} 
+0

その場合、Wordpressがどこにインストールされているかは重要ですか?今はサイトAのルートフォルダに存在します。私は単にサイトBの訪問者を '.htaccess'経由でリダイレクトすることを考えていました。 –

0
if ($_SERVER['SERVER_NAME']=="www.whatever.com") { 
//show site a header 
} 
関連する問題