is_front_page()とis_home()の違いを初心者向けにやさしく解説

WordPressでテーマをカスタマイズしていると、よく出てくる関数が is_front_page()is_home()
「どっちもトップページを指してるんじゃないの?」と思う方も多いかもしれません。
実はこの2つ、似ているようで意味がちょっと違います。

この記事では、WordPress初心者でも分かるように、is_front_page()is_home() の違いをやさしく解説します!

結論:ざっくり違いを言うと?

  • is_front_page() は「サイトの一番最初に表示されるページかどうか」
  • is_home() は「投稿一覧ページ(ブログ一覧)かどうか」

つまり、「どのページが“最初に表示されるか”」と、「どのページが“ブログ記事一覧か”」は、別々に設定できるということです!

それぞれの意味を詳しく見てみよう

is_front_page()とは?

これは「フロントページ(サイトの顔)かどうか」を判定します。

たとえば、あなたが「固定ページをトップページにする」設定にしているなら、その固定ページがis_front_page()になります。
つまり、「サイトにアクセスしたときに最初に表示されるページ」のことです。

基本構文
if ( is_front_page() ) {
    // トップページ専用の処理
}

is_home()とは?

こちらは「ブログの投稿一覧ページかどうか」を判定します。

WordPressでは、ブログ記事の一覧を表示するページを「投稿ページ」として設定できます。
この投稿ページがis_home()になります。

基本構文
if ( is_home() ) {
    // 投稿一覧ページ専用の処理
}

よくある設定と動きの違い

トップページの設定表示されるページis_front_page()is_home()
初期状態(投稿一覧)投稿一覧
固定ページに設定固定ページA(トップ)固定ページB(投稿一覧)✅(A)✅(B)

実際のテーマでどう使う?

たとえば、トップページだけに特別なバナーを出したいときは is_front_page() を使います。
一方、ブログ一覧ページだけにレイアウトを変えたいときは is_home() を使うのがベスト。

<?php if ( is_front_page() ): ?>
    <div class="top-banner">ようこそ!</div>
<?php endif; ?>

<?php if ( is_home() ): ?>
    <h1>ブログ記事一覧</h1>
<?php endif; ?>

まとめ

  • is_front_page():サイトの“最初に表示されるページ”かどうか
  • is_home():ブログの“投稿一覧ページ”かどうか
  • 両方が同時に true になるのは「初期設定のまま(投稿一覧がトップページ)」の場合だけ

WordPressではトップページやブログ一覧を自由に設定できるので、この2つの違いを理解しておくと、テーマのカスタマイズがぐっと楽になりますよ!

こちらの記事もおすすめ

WordPressでbodyタグのクラス属性を出力する方法

WordPressでフロントページのURLを取得する方法

WordPressでキャッチフレーズを取得・表示する方法

WordPressでサイトタイトルを取得・出力する方法

WordPressで現在のテーマディレクトリまでのURLを取得する方法