【WordPress】マルチサイトでサイト毎に処理を条件分岐させる方法

wordpress

マルチサイトを運営していると、サイト毎に微妙にやりたい事も変わってきます。 例えば親サイトの検索は横断検索にしたいとか、カスタム投稿タイプの設定をサイト毎に別のものにしたいなどがあります。

テーマを完全に分けるのも一つの手段ですが、それほどの違いでなければサイト毎に条件分岐して処理を変えるのも手です。 WordPressにおいては「親サイトと子サイト」または「ブログID」で条件分岐させることができます。

親サイトと子サイトで条件分岐

親サイトと子サイトで条件分岐させたい場合、is_main_siteで判定できます。

<?PHP if (is_main_site()) { ?>
  // 親サイトでの処理
<?PHP } else { ?>
  // 子サイトでの処理
<?PHP } ?>

ブログIDで条件分岐

ブログIDで条件分岐させたい場合、ブログIDを指定して処理を記述することができます。

ブログIDは[サイトネットワーク管理]→[サイト]→[IDを知りたいサイト]をクリックし、URL末尾の「ID=n」に表示されているものです。

if ( get_current_blog_id() == 1 ) {
  //ブログIDが1のサイトの処理
}

サイト毎の使用テンプレートファイルの振り分けなんかもよくやります。

switch(get_current_blog_id()){
  case 1:
    get_template_part('frontpageA');
    break; 
  default: 
    get_template_part('frontpageB');
}

\share/

  • hatebu
  • line

他の記事

HOME