WordPressマルチサイトで、ブログによって条件分岐をする
WordPressのマルチサイト機能を使用すれば、複数のブログを効率よく管理できます。
特に、似たようなデザインのサイトが複数ある場合は、『子サイト』を作成することで、親サイトのデザイン(テンプレートやスタイルシート)を引き継ぐことができるため大変便利です。
しかし、例えば『header.php』に関しては親サイトと若干デザインが異なる場合などはどうすれば良いでしょうか?
2つの選択肢があります。
- 親サイトのheader.phpを引き継がず、子サイト専用のheader.phpを用意する
- 親サイトのheader.phpの中で条件分岐させる
基本的なレイアウトが同じであれば上記(2)の方法のほうが管理的にも優れていると思います。
今回は、この条件分岐の方法について説明します。
『ブログのID』を取得して条件分岐
条件分岐させるためにはまずブログのIDを取得する必要がありますが、それはWordPressのグローバル変数から可能です。使用する際は『global』で宣言する必要があります。
【サンプルコード】
<?php
global $blog_id;
if($blog_id == 1){
//ブログのIDが「1」の場合の処理
}else{
//ブログのIDが「1以外」の場合の処理
}
?>
これでテンプレートファイルを増やすこと無く、特定のサイトのみに一部コードの変更を加えることができます。
ちなみに「ブログのIDが分からない」という場合は、WordPress管理画面の『サイトネットワーク管理者』を表示させ、『サイト』>『すべてのサイト』の中の、各サイトのURLを見てみるとその中に『id=xxx』という部分がありますのでそこから判断できます。