フィールド内容の有無で条件分岐(AdvancedCustomFields)

AdvancedCustomFieldsというプラグインを使用し、タクソノミーのアーカイブページで値があるかないかで条件分岐しようしたらハマッたのでメモ。

get_field(‘フィールド名’ ,$post_id)で条件分岐

カスタムタクソノミー(ターム)で、作成したフィールドタイプに記入がある場合は表示させ、記入がない場合は別の内容を表示する。

※動作確認はタクソノミーテンプレート(taxonomy.php)のみ

<?php
$term_id = get_queried_object()->term_id;
$post_id = 'タクソノミー名_'.$term_id;
?>
<!--条件分岐ココから-->
<?php if( get_field('フィールド名' ,$post_id)): ?>
<?php the_field('フィールド名' ,$post_id); ?>
<?php else: ?>
<p>フィールドに内容がない場合はこちらを表示</p>
<?php endif; ?>
<!--条件分岐ココまで-->

ちなみに、get_fieldは以下の記述では動作しませんでした。

×get_field('フィールド名')
×get_field('フィールド名',$post->ID)

はじめ$post_idを、$post->IDとしていたため表示されずかなりハマりました…(笑
the_fieldも同様に「$post_id」で動作。

コメントを残す

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