説明
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_404() | Function | WordPress Developer Resources

コメント