カスタムフィールド系プラグインの定番「Advanced Custom Fields」
以前、投稿オブジェクトを表示させる方法をご紹介しました。Advanced Custom Fieldsは便利なんですけど、phpをよくわかってないと表示させるのが難しい状況に直面することがしばしあります。
今回、個人的に苦労したのが、フィールドタイプ「タクソノミー」。投稿タイプAに投稿タイプBで使っているタクソノミーを選択できるようにするのにするのに、行った設定を紹介します。
Advanced Custom Fields側の設定
タクソノミーは通常、複数選択出来ますが、今回は一つだけ選ぶようにしたかったので、フィールドタイプを「単一値」を選びます。ちなみに写真ではセレクトボックスを選んでいますが、Radio ButtonsでもOKです。
あと返り値は必ず「Term Object」を選んであげてください。
出力方法
実際に出力は以下のように書きます。
<?php $term = get_field('field-name'); if($term): ?> <?php echo $term->name; ?> <?php endif; ?>
$termは配列になっていて、$term->nameの部分でほしい値を呼び出します。name以外にもterm_id、slug、descriptionなどが使えます。他にもまだありますが、何を呼び出せるのかを確認したい場合は以下のように書くと配列内を一覧でみることができます。
<?php $term = get_field('field-name'); if($term): ?> <?php var_dump($term); ?> <?php endif; ?>