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

Contents
結論:ざっくり違いを言うと?
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つの違いを理解しておくと、テーマのカスタマイズがぐっと楽になりますよ!