【忘備録】カテゴリー・タクソノミ―などの条件分岐まとめ(カスタム投稿含む)
ホームページをワードプレスで制作をしていると条件分岐を行うことが多々あります。
忘備録としてわかりやすくまとめておきます。
個別投稿ページ
個別投稿ページの場合。固定ページには反映されません。
IDを指定する場合(この時は5とする)
タイトルを指定する場合(この時はTITLEとする)
スラッグを指定する場合(この時はaboutとする)
複数指定する場合
IDが5、投稿スラッグが “TITLE”、またはタイトルが “TITLE2” のいずれかにあてはまる投稿が表示されている場合。
投稿タイプアーカイブ
アーカイブページの条件分岐
アーカイブページで指定
“custom” に一致する投稿タイプアーカイブページの場合に true を返す。
アーカイブページが “about”/”about2″/”about3” いずれかに一致する場合に true を返す。
カテゴリーページ
ページがカテゴリーと関連付けられている場合。
カテゴリーの指定
“category-t”というカテゴリーのアーカイブページが表示されている場合。
カテゴリーに属する記事の場合
現在の投稿がカテゴリーID 5に属する場合に true を返します。
is_categoryとin_categoryは意味合いが全く違います。
カテゴリーのページの場合は「is」 属する記事の場合は「in」
記事が、カテゴリID1、2のいずれにも属していない場合は true を返す。
inの前に「!」がついています。
タグページ
タグのアーカイブページの場合
スラッグ指定
tag1 というスラッグのついたタグのアーカイブページが表示されている場合。
タクソノミーページ
クソノミーのアーカイブページが表示されている場合。
スラッグ指定
tax1 というスラッグのついたタグのアーカイブページが表示されている場合。
シングルページ
is_single()、is_page() 、is_attachment() のいずれかが真である場合に true を返す。
スラッグ指定
‘custom’ というカスタム投稿タイプの場合に true を返す。
カスタム投稿のターム指定
タームが属するカスタムタクソノミーのIDを指定します。
register_taxonomy()で設定した名前を入れないといけませんが、これは必須項目となります。
「register_taxonomy()=category」「管理画面で設定したスラッグ=plan」
ID, 'category','plan') ): ?>
上記の「is_object_in_term」は簡単なので覚えておいていいと思います。
使いまわしが多いので忘備録。