Webデザイナーとして活動しているサブローのブログです。
  • HOME
  • WordPressで記事が属するカテゴリーによって条件分岐するコード。特殊なジャンルを扱うカテゴリーを作った時とかに。
2017 6 2

WordPressで記事が属するカテゴリーによって条件分岐するコード。特殊なジャンルを扱うカテゴリーを作った時とかに。

この記事は3分ほどで読めます
この記事をSNSでシェアする方はこちら

どうも、サブロー(@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; ?>

まとめ

他のカテゴリーとはちょっと違う特殊なジャンルを扱うカテゴリーを作った時に使えます。

この記事をSNSでシェアする方はこちら

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Profile

Web・グラフィックデザイナー
Webデザイナーやってます。WordPressの技術録やプラグインの紹介、ブログを運営して分かったことからプライベートな事まで、興味ある事・気になる事を色々書いて行こうと思います。ツイッターとかインスタグラムもやってますのでよければフォローしてください。
PAGETOP
Copyright © SABURO DESIGN All Rights Reserved.