前提・実現したいこと
ワードプレスにて
タクソノミーの親子関係の階層を維持したリストを
カスタムフィールドで登録したアイキャッチ画像も含めて表示させたいです。
下記のように表示させたいです。
html
1<ul> 2 <li> 3 親タームA 4 <ul class="children"> 5 <li>子タームA-1 説明文 アイキャッチ画像</li> 6 <li>子タームA-2 説明文 アイキャッチ画像</li> 7 <li>子タームA-3 説明文 アイキャッチ画像</li> 8 </li> 9 <li> 10 親タームB 11 <ul class="children"> 12 <li>子タームB-1 説明文 アイキャッチ画像</li> 13 <li>子タームB-2< 説明文 アイキャッチ画像/li> 14 </li> 15</ul>
該当のソースコード
html
1<?php 2//投稿タイプ item 3//タクソノミースラッグ item_cate 4//画像のカスタムフィールド名 cate-img 5?> 6 7 <?php 8 $my_tax = 'item_cate'; //取得したいタクソノミー名 9 $parent_terms = get_terms( $my_tax, array('hide_empty' => false, 'parent' => 0) ); //第一階層のタームだけ取得 10 if ( !empty( $parent_terms ) ) : 11 echo '<ul>'; 12 13 //第1ループ 14 foreach ( $parent_terms as $pt ) : 15 $pt_id = $pt->term_id; 16 $pt_name = $pt->name; 17 $pt_url = get_term_link($pt); 18 19 echo '<h2 class="subtit">' .$pt_name. '</h2>'; 20 21 ?> 22 23 <?php 24 $child_terms = get_terms( $my_tax, array('hide_empty' => false, 'parent' => $pt_id) ); 25 if ( !empty( $child_terms ) ) : 26 echo '<ul class="child">'; 27 28 //第2ループ 29 foreach ( $child_terms as $ct ) : 30 $ct_id = $ct->term_id; 31 $ct_name = $ct->name; 32 $ct_url = get_term_link($ct); 33 $ct_descripition =$ct->description; 34 35 $term_idsp = 'item_cate_'.$ct_id ; //カスタムフィールドを取得するのに必要なtermのIDは「taxonomyname_ + termID」 36 $photo = get_field('cate-img',$term_idsp); 37 $photosp = wp_get_attachment_image_src($photo, 'full'); 38 ?> 39 <li> 40 <a href="<?php echo $ct_url; ?>"><?php echo $ct_name; ?></a> 41 <img src="<?php echo $photosp[0]; ?>" alt=""> 42 <?php echo '<div class="setsumei">'.nl2br($ct_descripition).'</div>'; ?> 43 44 </li> 45 <?php 46 endforeach; //End : 第2ループ 47 echo '</ul>'; 48 endif; 49 ?> 50 </li> 51 <?php 52 endforeach; //End : 第1ループ 53 echo '</ul>'; 54 endif; 55 ?>
試したこと
上記コードでは、画像のみ表示されません。
ブラウザでみると画像の部分が
<img src="unknown" alt="">
とはきだされています。
昨日から何時間も調べたり、していますが
お手上げ状態です。
どうか詳しい方、ご教授いただけなけないでしょうか?
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー