• 現在カテゴリ情報に画像を紐づけし、表示しようと思い、プラグインの「Advanced Custom Fields」を使用しており、うまく表示することができません。

    環境はローカルにてsingle.phpの編集を行っております。

    <?php if (have_posts()) : the_post();// WordPress ループ
    	?>
    	    <div class="post">
                <?php
    		 $cat=get_the_category();
    		 $cat_id=get_field('catimg','category_',$cat_id->cat_ID);
                     <img src="$cat_id">
    		 ?>
          </div>

    catimgの返り値は「画像URL」を設定しています。

    様々な方法を試してみたのですが、なかなか表示されず、原因を探っていたところ、

    echo print_r($cat);

    にてカテゴリ情報を取得してみたところ以下の表示になりました。

    Array ( [0] => stdClass Object ( [term_id] => 1 [name] => コースガイド [slug] => course [term_group] => 0 [term_taxonomy_id] => 1 [taxonomy] => category [description] => [parent] => 0 [count] => 1 [object_id] => 27 [filter] => raw [cat_ID] => 1 [category_count] => 1 [category_description] => [cat_name] => コースガイド [category_nicename] => course [category_parent] => 0 ) ) 1

    最後に[1]が追加されておりました。
    そこからカテゴリ情報の各情報を取得しても最後に[1]が追加されて表示(例えば[name]を取得すれば「コースガイド1」として表示)されることがわかりました。

    つまり、カスタムフィールドの返り値であるURLの末尾にも[1]が表示されており、うまく表示されません。

    素人質問で申し訳ありませんが、この現象の解決策または、よりより方法をご存じの方はご教授頂けると幸甚に存じます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • Advanced Custom Fields は使っておりませんが、単純なところに誤りがありそうな気がします。

    get_field() の引数は3であっていますか?
    それぞれ何を指定しているものなのか教えていただくと、助言しやすい上に、誤りがあれば発見する手がかりとなると思います。

    そして「1」が表示されてしまうのは、その関数やecho、print_rとは関係無い現象のような気がします。

    これよりも後のコードで、何か表示していそうな部分はなさそうでしょうか。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「カテゴリ情報の末尾に[1]が追加される」には新たに返信することはできません。