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

WordPressのis_front_page()とis_home()の違いを初心者向けに比較している解説イメージ
is_front_page()とis_home()の違いを図で比較。 トップページとブログ一覧ページの使い分けを初心者でも理解できるようにまとめたアイキャッチ。

はじめに

WordPressでトップページをカスタマイズするとき、よく登場するのが
is_front_page()is_home() という2つの条件分岐タグです。

「どっちを使えばいいの?」「違いがよく分からない…」
と感じる初心者の方も多いと思います。

この記事では、2つのタグの違いと使い分け方を、
図解と具体例を交えてわかりやすく解説します。

そもそも「条件分岐タグ」とは?

条件分岐タグとは、WordPressで
「今どのページを表示しているか」を判断するための関数です。

例えば以下のような使い方があります。

<?php if ( is_single() ) : ?>
  <!-- 投稿ページのときに実行される処理 -->
<?php endif; ?>

こうしたタグを使うと、
トップページ・投稿ページ・固定ページなどで表示を切り替えることができます。

👉詳しくはこちらの記事で解説しています:
WordPressのis_single()とは?基本の使い方と具体例を解説
【初心者向け】WordPressのis_page()の使い方と具体例をやさしく解説

is_front_page()とは?

is_front_page() は、
「サイトの表紙(フロントページ)」 が表示されているときに true(真) を返します。

つまり、訪問者が最初にアクセスするトップページを指します。

▶ 例

  • 固定ページをトップページに設定している場合 → その固定ページで true
  • 投稿一覧をトップページにしている場合 → 投稿一覧で true
<?php if ( is_front_page() ) : ?>
  <h1>ようこそ、Yagi-Systemへ!</h1>
<?php endif; ?>

💡ポイント

設定 → 表示設定 → ホームページの表示」でどのページをトップに設定しても、
そこが “front page” として扱われます。

is_home()とは?

is_home() は、
「投稿の一覧ページ」(ブログ一覧ページ)が表示されているときに true を返します。

WordPressでは、「投稿一覧ページ」=ブログのホームという扱いになります。

▶ 例

  • 投稿一覧をトップページにしている場合 → トップページで true
  • 固定ページをトップページにしている場合 → 投稿一覧ページで true
<?php if ( is_home() ) : ?>
  <h2>ブログ一覧</h2>
<?php endif; ?>

2つの違いを表で整理

条件タグtrue になるページ主な用途
is_front_page()サイトのトップページ(固定 or 投稿一覧)トップページ専用デザイン
is_home()投稿一覧ページ(ブログトップ)ブログ一覧の表示制御

実際の設定例で見てみよう

① トップページを「固定ページ」にした場合

  • is_front_page() → 固定ページで true
  • is_home() → 投稿一覧ページで true
<?php
if ( is_front_page() ) {
  // 固定ページのトップ
  get_template_part('template-parts/front');
} elseif ( is_home() ) {
  // ブログ一覧ページ
  get_template_part('template-parts/blog');
}
?>

② トップページを「投稿一覧」にした場合

  • is_front_page() → 投稿一覧で true
  • is_home() → 投稿一覧で true

→ 両方とも同時に true になります!

よくある勘違い

「トップページ=is_home()じゃないの?」

実は、初期設定ではそうなのですが、
「固定ページをフロントに設定した」瞬間に意味が変わります。

そのため、カスタムテーマを作るときには必ず両方確認しておきましょう。

使い分けのコツ

状況使うタグ
サイトの表紙デザインを変更したいis_front_page()
ブログ一覧ページだけデザインを変えたいis_home()
両方で共通処理を行いたいis_front_page()

関連するテンプレート階層の理解

これらのタグを正しく使うためには、
WordPressのテンプレート階層を理解しておくとスムーズです。

👉詳しくはこちらの記事で:
【図解】WordPressのテンプレート階層を初心者向けにやさしく解説
home.phpとfront-page.phpの違いをやさしく解説

まとめ

タグ表すページ主な用途
is_front_page()サイトのトップページフロント専用デザイン
is_home()投稿一覧ページ(ブログトップ)ブログ一覧の制御

2つの違いを理解しておけば、
トップページとブログ一覧ページのデザインを自在に切り替えられます。

関連記事

まとめのひとこと

「is_front_page() は “サイトの顔”」、「is_home() は “ブログの顔”」
このように覚えると、混乱せずに使い分けられます。