どうも、SABURO DESIGNのサブロー(@saburo_design)です。
記事として書く内容によっては、カテゴリーごとにテンプレートの内容を変えたいという時があると思います。
カテゴリーによってテンプレートを丸ごと別のものに適用するといった事もできますが、レイアウトを大きく変える訳ではないというのであれば、そんな時は属するカテゴリーによって条件分岐するコードが使えます。
どうも、SABURO DESIGNのサブロー(@saburo_design)です。
記事として書く内容によっては、カテゴリーごとにテンプレートの内容を変えたいという時があると思います。
カテゴリーによってテンプレートを丸ごと別のものに適用するといった事もできますが、レイアウトを大きく変える訳ではないというのであれば、そんな時は属するカテゴリーによって条件分岐するコードが使えます。
この記事の目次
カテゴリーIDで指定する場合
<?php if(in_category(5)) : ?>
// カテゴリーIDが5のカテゴリーに属した記事の時に表示する
<?php endif; ?>
カテゴリースラッグ名で指定する場合
<?php if(in_category('news')) : ?>
// カテゴリースラッグが『news』のカテゴリーに属した記事の時に表示する
<?php endif; ?>
カテゴリーIDで指定する場合
<?php if(!in_category(5)) : ?>
// カテゴリーIDが5のカテゴリーに属した記事の時に表示しない
<?php endif; ?>
カテゴリースラッグ名で指定する場合
<?php if(!in_category('news')) : ?>
// カテゴリースラッグが『news』のカテゴリーに属した記事の時に表示しない
<?php endif; ?>
先ほどのin_categoryと違って、特定のカテゴリーのアーカイブページで条件分岐するis_categoryというコードがあります。一見似ていますが使い方は全く違います。
カテゴリーIDで指定する場合
<?php if(is_category(5)) : ?>
// カテゴリーIDが5のアーカイブページの時に表示する
<?php endif; ?>
カテゴリースラッグ名で指定する場合
<?php if(is_category('news')) : ?>
// カテゴリースラッグが『news』のアーカイブページの時に表示する
<?php endif; ?>
カテゴリーIDで指定する場合
<?php if(!is_category(5)) : ?>
// カテゴリーIDが5のアーカイブページの時に表示しない
<?php endif; ?>
カテゴリースラッグ名で指定する場合
<?php if(!is_category('news')) : ?>
// カテゴリースラッグが『news』のアーカイブページの時に表示しない
<?php endif; ?>
他のカテゴリーとはちょっと違う特殊なジャンルを扱うカテゴリーを作った時に使えます。