説明
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_singular() | Function | WordPress Developer Resources

コメント