WordPressのカスタム投稿タイプのシングル・アーカイブページをタームで指定して条件分岐する方法を紹介。
シングルページの条件分岐を[is_tax]で指定して全然動かなかったので調べてみると、シングルページの場合は[is_object_in_term]を使うようですね。
カスタム投稿タイプの条件分岐
シングルページの条件分岐の基本は以下の形です。
<?php if (is_object_in_term($post->ID, '$taxonomy','$term')): ?>
$taxonomy:タクソノミー名
$term:タームID、ターム名、タームのスラッグ
タクソノミーのタームで条件分岐(シングルページ)
タクソノミー名「product_cat」ターム名「new」で条件分岐したい場合
<?php if (is_object_in_term($post->ID, 'product_cat','new')): ?>
<?php else: ?>
<?php endif; ?>
となります。
同じタクソノミーで複数のタームを指定する場合は[array]を使います。
<?php if (is_object_in_term($post->ID, 'product_cat',array('new','old'))): ?>
<?php else: ?>
<?php endif; ?>
タクソノミーのタームで条件分岐(アーカイブページ)
[is_tax]はアーカイブページでの条件分岐で利用します。
<?php if (is_tax('product_cat')): ?>
<?php else: ?>
<?php endif; ?>
<?php if(is_tax('product_cat', array('new','old'))): ?>
<?php else: ?>
<?php endif; ?>
Related Posts