WordPressサイト構築でカスタムフィールド(ACF)を使ってカスタムタクソノミーのターム内に設置した画像を表示する方法なのですが、検索してもループ内で表示する、とか、全てを表示する、という方法しか引っかからなかったので自分で書いてみます。
こんな事が出来ます。
- 各タクソノミーページでターム情報を表示している
- 表示しているページのタームを判別して、そのタームに登録されている画像を表示する
ではさっそくいってみましょう!
目次
記述コード
まずはいきなりですがコードをご紹介します。
<?php
$term = get_queried_object_id();
$term_id = "カスタムタクソノミー名_".$term;
$img = get_field('カスタムフィールド名',$term_id);
?>
<img src="<?php echo $img; ?>" alt="<?php single_tag_title(); ?>">
では改めて説明していきますね。
詳細
まずは以下のコードで、現在表示しているページのターム情報を取得します。
<?php $term = get_queried_object_id(); ?>
次にこちらのコードで登録されている画像を取得します。
<?php
$term_id = "カスタムタクソノミー名_".$term;
$img = get_field('カスタムフィールド名',$term_id);
?>
カスタムタクソノミー名とカスタムフィールド名はご自身の環境のものを入れて下さい。
そして最後に↓
<img src="<?php echo $img; ?>" alt="<?php single_tag_title(); ?>">
altタグ内は表示しているページのタームが入るようにしています。
参考にさせていただいた記事↓
あわせて読みたい


ACFでカスタムタクソノミーのタームに設定した画像を出力する方法 | web関連 | 二色人日記。
カスタム投稿のタクソノミーのターム編集画面にACF使って画像を設定できるようにしたけど出力方法がよくわからず苦戦をした時の備忘録
まとめ
ACFで画像を登録するカスタムフィールドを作っている場合に出来る内容になっています。
そして 調べてみて分かりましたが、意外と今回のケースに該当するような記事がありませんでした。
あまり使わないレベルの実装かもしれませんが、同様のケースにあたった場合はぜひご参考ください。
ではまた!
当記事で紹介、及び記載している内容は個人的考えに基づいております。
責任は負いかねますので、お試しの際は必ずバックアップを取った上で自己責任のもと実行してください。