is_single()とis_singular()の使い分け

カスタムテーマ制作中に is_single()is_singular() の使い所が度々こんがらがるので、きちんと整理してみました。

is_single() と is_singular() の概要

is_single()

投稿(post)およびカスタム投稿タイプのシングルページか否かを判別する際に使用します。パラメータを追加する際には記事のID、スラッグ、タイトルを指定します。

(参考)関数リファレンス/is single

is_singular()

投稿(post)、カスタム投稿タイプ、固定ページ、添付ファイルのシングルページか否かを判別する際に使用します。パラメータ設定時には投稿タイプ(post、カスタム投稿タイプのスラッグ、page、attachment)を指定します。

(参考)関数リファレンス/is singular

実際の使用イメージ

実際のテーマ制作で次のように書くケースはあまり無いと思いますが、 is_single()is_singular() を条件分岐に用いると以下のようになります。

まとめ

総括すると、is_singular() が必要になるのは、カスタム投稿タイプを追加した際に、投稿(post)とカスタム投稿タイプのシングルページの表示を分岐させたいケースと考えて良いかと思います。

is_singular() is_single() is_singular(‘post’) →投稿(post)
is_singular($post_types) →カスタム投稿タイプ
is_page() →固定ページ
is_attachment() →添付ファイル

PR

DO WP 管理人