投稿タイプを取得する
以下の2点を補った形。
- カスタム投稿で記事がない場合、get_postが機能しない。
- get_query_var()では投稿一覧を固定ページに登録している場合は機能しない。
$postType = get_post()->post_type; if( empty( $postType ) ){ $postType = get_query_var( 'post_type' ); } echo "投稿タイプ = " . $postType;
1行目:固定ページと投稿ページのpost_typeが取得できる。カスタム投稿は空。
2行目:カスタム投稿ページの場合空なのでempty()でtrueが返り条件内実行。
3行目:カスタム投稿のpost_typeを取得する。記事がない場合も取得できる。
固定ページ :page
投稿ページ :post
カスタム投稿 :カスタム投稿名
これで全てカバーできるはずです。
最近おもったこと。
ニュース一覧のようなデフォルトの投稿が使えそうな場合でも、カスタム投稿で実装したほうがテンプレートタグの分散も減って組みやすいんじゃないだろうか。
コメント