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

説明

is_singular() は、投稿・固定ページ・カスタム投稿・添付ファイルのいずれかの個別ページを表示しているかを判定する関数です。

基本構文

is_singular( string|string[] $post_types = '' ): bool

引数

  • $post_types:投稿タイプ(省略可)

戻り値

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

使い方(サンプル)

if ( is_singular( 'news' ) ) {
	// カスタム投稿 news の個別ページ
}

注意点

  • is_single()、is_page()、is_attachment() を包括した判定です。
  • 投稿タイプを配列で複数指定できます。

実務での使いどころ

  • 投稿と固定ページの両方で、同じ処理をするとき。
  • 特定のカスタム投稿タイプの個別ページだけで、処理を変えるとき(is_singular( 'news' ))。
  • 複数の投稿タイプを、配列でまとめて指定するとき。

よくあるミスと対処

  • アーカイブページでも true になると思っている。アーカイブは個別ページではないので false。
  • 投稿タイプに、表示名(日本語のラベル)を渡している。指定するのは、登録時のスラッグ。

NG例

if ( is_singular( 'お知らせ' ) ) {
	// 表示名を渡しているため、当てはまらない
}

OK例

if ( is_singular( array( 'post', 'news' ) ) ) {
	// 投稿と、お知らせの個別ページ
}

使い分け早見表

関数 当てはまるページ
is_singular() 個別ページ全般(投稿タイプの指定も可)
is_single() 投稿・カスタム投稿の個別ページ
is_page() 固定ページ

関連項目

is_single()、is_page()

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

コメント

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