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

Contents
はじめに
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つの違いを理解しておけば、
トップページとブログ一覧ページのデザインを自在に切り替えられます。
関連記事
- home.phpとfront-page.phpの違いをやさしく解説
- WordPress初心者でも安心!functions.phpの使い方と注意点
- is_single()とis_page()の違いをやさしく解説
- WordPressの条件分岐タグ一覧まとめ
まとめのひとこと
「is_front_page() は “サイトの顔”」、「is_home() は “ブログの顔”」
このように覚えると、混乱せずに使い分けられます。

