カスタム投稿タイプの条件分岐

カスタム投稿タイプの条件分岐のアイキャッチ画像

カスタム投稿タイプの条件分岐まとめてみました。よく使う形式でまとめています。

カスタム投稿タイプの条件分岐

投稿タイプ

投稿タイプでの条件分岐です。ちなみに通常の投稿はpostが投稿タイプ名です。

<?php if (get_post_type() === '投稿タイプ名'): ?>
  //処理
<?php endif; ?>

カスタム投稿タイプのアーカイブ

アーカイブページの判定

<?php if (is_post_type_archive('投稿タイプ名')): ?>
  //処理
<?php endif; ?>

タクソノミーアーカイブ

タクソノミーアーカイブページの判定

<?php if (is_tax('タクソノミー名')): ?>
  //処理
<?php endif; ?>

タームアーカイブページ

指定したタクソノミーに属するタームアーカイブページの判定

<?php if(is_tax('タクソノミー名', 'ターム名')): ?>
  //処理
<?php endif; ?>

ターム情報

ターム情報を持っているかの判定

<?php if (has_term('ターム名','タクソノミー名')): ?>
  //処理
<?php endif; ?>

複数の条件を指定する場合

WordPressはphp製なので論理演算子で複数の条件に対応することも可能です。

カスタム投稿タイプかつ詳細ページの場合

<?php if (get_post_type() === '投稿タイプ名' && is_single()): ?>
  //処理
<?php endif; ?>

指定のターム情報を持っている詳細ページの場合

<?php if (has_term('ターム名','タクソノミー名') && is_single()): ?>
  //処理
<?php endif; ?>

タームアーカイブページもしくはターム情報を持っている場合

<?php if(is_tax('タクソノミー名', 'ターム名') || has_term('ターム名','タクソノミー名')): ?>
  //処理
<?php endif; ?>

こういう条件分岐を実例なしで文章にするときの言い回しってむずかしいですね!