is_singular():1 件を表示するページか調べる(WordPress)

投稿・固定ページ・添付ファイル・カスタム投稿タイプのどれかで、1 件を表示しているページかどうかを調べます。投稿タイプを渡すと、その種類だけに絞れます。

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_singular( string|string[] $post_types = '' ): bool
  • $post_types(省略できる):投稿タイプの名前(post・page・product など)、またはその配列。

使い方の例

// 投稿と固定ページだけ、OGP の画像を出す
if ( is_singular( array( 'post', 'page' ) ) && has_post_thumbnail() ) {
	echo '<meta property="og:image" content="' . esc_url( get_the_post_thumbnail_url( null, 'large' ) ) . '">';
}

is_single()・is_page() との違い

  • is_single():固定ページと添付ファイルを除いた 1 件のページ。
  • is_page():固定ページだけ。
  • is_singular():どれでも。迷ったら、これに投稿タイプを渡すのが分かりやすいです。

関連する関数

  • is_single()・is_page()
  • is_post_type_archive():カスタム投稿タイプの一覧か
  • get_post_type():今の投稿の投稿タイプ

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

サイドバー

よく使うカスタマイズ

最近の記事

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

Profile

PAGE TOP