WordPressのトップページのテンプレートファイルは home.php、index.php あたりを使用する場合が多いと思います。
その場合、header.phpでトップページ用の条件分岐をする必要が出てきます。
(もちろん、必要ない場合もあります)
この条件分岐のタグはどれが適しているのか、という点について改めて検証をしてみました。
トップページ(フロントページ)の条件分岐に使えるテンプレートタグ
is_home() |
is_front_page() |
is_page() |
何もカスタマイズをしていない場合、WordPressのトップページ独自のコンテンツは管理画面側で管理できませんが、固定ページをトップページ(フロントページ)として割り当てる事が可能です。
フロントページの変更方法
管理画面 -> 設定 -> 表示設定 -> フロントページの表示 でトップページにしたい固定ページを選択すればOK。
※固定ページが1つも無い場合は「フロントページの表示」が表示されないのでご注意を。
条件分岐タグの検証結果
さて、本題に戻ります。
フロントページをデフォルト設定の場合、固定ページを設定した場合で、条件分岐タグはどのような結果を返すのかを検証しました。
結果は下記の通り。
テンプレートタグ | フロントページ設定無し | フロントページとして固定ページを設定 |
---|---|---|
is_home() | true | false |
is_front_page() | true | true |
is_page() | false | true |
しかし、is_home() にもメリットがあります。home.php というテンプレートファイルとネーミングが揃っていてわかりやすいです。
ケースバイケースでご利用下さいませ。