is_404() の使い方|説明・引数・注意点

説明

is_404() は、404エラーページ(コンテンツが見つからないページ)を表示しているかを判定する関数です。

基本構文

is_404(): bool

引数

引数はありません。

戻り値

条件に当てはまれば true、そうでなければ false。

使い方(サンプル)

if ( is_404() ) {
	// 404 の処理
}

注意点

  • 404.php テンプレートの中なら、ほぼ常に true です。
  • メインクエリが決まる前に呼ぶと正しく判定できません。

実務での使いどころ

  • 404ページで、検索フォームやおすすめ記事を出すとき。
  • 404のときだけ、処理を変えるとき。

よくあるミスと対処

  • 検索結果が0件のとき、404になると思っている。0件でも検索結果ページで、404ではない。
  • 404.php を作らず、他のテンプレートの中で分岐しようとしている。専用の 404.php を作るのが基本。

NG例

// 検索結果が0件のとき
if ( is_404() ) {
	// 0件の表示のつもり(実際には入らない)
}

OK例

if ( is_search() && ! have_posts() ) {
	// 検索結果が0件
}

使い分け早見表

やりたいこと 使うもの
404ページか is_404()
検索結果ページか is_search()
記事が1件もないか ! have_posts()

関連項目

is_search()、is_home()

公式リファレンス:is_404() | Function | WordPress Developer Resources

コメント

タイトルとURLをコピーしました