説明
is_single() は、個別投稿ページ(添付ファイル・固定ページ以外)を表示しているかを判定する関数です。
基本構文
is_single( int|string|int[]|string[] $post = '' ): bool
引数
$post:投稿ID・タイトル・スラッグ、またはそれらの配列(省略可)
戻り値
条件に当てはまれば true、そうでなければ false。
使い方(サンプル)
if ( is_single() ) {
// 投稿の個別ページ
}
if ( is_single( 123 ) ) {
// ID が 123 の投稿
}
注意点
- カスタム投稿の個別ページでも
trueになります。投稿タイプを限定するならis_singular()やget_post_type()と併用します。 - 固定ページは対象外です。固定ページには
is_page()を使います。 - パーマリンクに日付を含めている設定などで、判定が想定通りにならない場合があります。
実務での使いどころ
- 個別の投稿ページだけで、関連記事やSNSボタンを出すとき。
- 特定の投稿(ID・スラッグ)のときだけ、処理を変えるとき。
よくあるミスと対処
- 固定ページには使えない。固定ページは
is_page()を使う。 - 投稿タイプを指定するつもりで、
is_single( 'news' )と書いている。引数は投稿ID・タイトル・スラッグで、投稿タイプではない。投稿タイプの判定はis_singular()を使う。
NG例
if ( is_single( 'news' ) ) {
// お知らせの個別ページのつもり('news' は、スラッグとして扱われる)
}
OK例
if ( is_singular( 'news' ) ) {
// お知らせの個別ページ
}
使い分け早見表
| 関数 | 当てはまるページ |
|---|---|
is_single() |
投稿・カスタム投稿の個別ページ(固定ページは含まない) |
is_page() |
固定ページ |
is_singular() |
投稿・固定ページ・カスタム投稿など、すべての個別ページ |
関連項目
is_singular()、is_page()、is_attachment()
公式リファレンス:is_single() | Function | WordPress Developer Resources

コメント