is_home():投稿の一覧のページか調べる(WordPress)

今のページが「投稿の一覧(ブログのページ)」かどうかを調べます。名前は「ホーム」ですが、サイトのトップとは限らないので注意が必要です。

書き方

is_home(): bool

引数はありません。投稿の一覧のページなら true、そうでなければ false を返します。

使い方の例

// 投稿の一覧のページだけ、見出しを出す
if ( is_home() ) {
	echo '<h1>ブログ</h1>';
}

どのページで true になるか

「設定 → 表示設定」の「ホームページの表示」で変わります。

  • 「最新の投稿」のとき:サイトのトップで true(このときは is_front_page() も true)。
  • 「固定ページ」のとき:「投稿ページ」に選んだページで true。サイトのトップでは false です。

よくある間違い

  • サイトのトップかどうかを調べたいときに is_home() を使ってしまう。トップを調べるなら is_front_page() です。
  • pre_get_posts の中では、関数ではなく受け取った $query の $query->is_home() を使います($query->is_main_query() と組み合わせる)。
  • 投稿を読み込む前(init など)に呼ぶと、まだ決まっていないので正しく判定できません。wp や template_redirect より後で使います。

関連する関数

  • is_front_page():サイトのトップか
  • is_single():投稿の 1 件のページか
  • is_archive():カテゴリ・タグ・日付などの一覧か

逆引きリファレンスの一覧へ

サイドバー

よく使うカスタマイズ

最近の記事

  1. Fstyle Final Output Replacer のルールの一覧(generator タグを消す 2 つのルール)

Profile

PAGE TOP