例えば通常の投稿(post
)の個別記事か判定したいような時。
is_single()
ではpost_typeの判別はできない。
<?php // こんな風には判定することはできない。 if( is_single( 'post' ) ) { echo '投稿の個別ページ'; // 投稿個別ページでは表示されな }
get_post_type() でpost_typeを取得する方法 (イケてない)
get_post_type()
を使えば、post_typeが取得できるので、コレを利用する
<?php $post_type = get_post_type(); if( $post_type === 'post' && is_single() ) { echo '投稿の個別ページ'; }
is_singular() を使うのがベスト
is_singular ( string|array $post_types = '' )
引数にpost_type
を渡せばその投稿タイプの個別記事ページかをBool値で返してくれる。
<?php if( is_singular( 'post' ) ) { echo '投稿の個別ページ'; }
is_single()
で投稿タイプ判定できそうなイメージがあるけど、投稿タイプで判定したい時はis_singular()
。
WordPressちょっと触ってないと直ぐ忘れる...
個人的にfunction.phpにダラダラ書いていくのもちょっとイケてない気がするので扱いづらい感出てきてる。。。便利なんですけどね。
自分のblog検索したら、案の定 以前にもハマった落とし穴だった......
そして、アーカイブページはis_post_type_archive( $post_type )
を使うのでした。
[参考]
- is_single() | Function | WordPress Developer Resources
- is_singular() | Function | WordPress Developer Resources

いちばんやさしいWordPressの教本 人気講師が教える本格Webサイトの作り方 第2版 WordPress 4.x対応 (「いちばんやさしい教本」シリーズ)
- 作者: 石川栄和,大串肇,星野邦敏
- 出版社/メーカー: インプレス
- 発売日: 2014/11/14
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (3件) を見る