is_single():投稿の 1 件のページか調べる(WordPress)

今のページが、投稿 1 件を表示するページかどうかを調べます。カスタム投稿タイプの 1 件のページでも true です。固定ページと添付ファイルのページでは false です。

is_single() と is_singular() は、名前がよく似ていますが別の関数です(誤字ではありません)。どのページで true になるかが違います。

開いているページ is_single() is_singular()
投稿(ふつうの記事) true true
カスタム投稿タイプの 1 件(例:商品) true true
固定ページ(会社概要・お問い合わせなど) false true
添付ファイルのページ false true
一覧・トップ・カテゴリ false false

迷ったら:記事だけなら is_single()、固定ページも含めた 1 件のページ全部なら is_singular()、ふつうの投稿だけに絞るなら is_singular( 'post' ) です。

書き方

is_single( int|string|int[]|string[] $post = '' ): bool
  • $post(省略できる):投稿の ID・タイトル・スラッグ、またはその配列。渡すと「その投稿のページか」を調べます。

使い方の例

// 投稿のページだけ、本文の下に関連記事を出す
if ( is_single() ) {
	get_template_part( 'parts/related-posts' );
}

// ID が 123 か、スラッグが about-us の投稿のときだけ
if ( is_single( array( 123, 'about-us' ) ) ) {
	// ...
}

よくある間違い

  • 「ふつうの投稿だけ」にしたいのに、カスタム投稿タイプでも true になる。投稿だけに絞るなら is_singular( 'post' ) を使います。
  • 固定ページも含めたいときは is_singular() です。

関連する関数

  • is_singular():投稿・固定ページ・添付ファイルの 1 件のページか(投稿タイプで絞れる)
  • is_page():固定ページか
  • is_home():投稿の一覧のページか

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

サイドバー

よく使うカスタマイズ

最近の記事

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

Profile

PAGE TOP