ワードプレスで作成しているサイトに
info というカスタム投稿をプラグインで作成しました。
タクソノミースラッグはinfo_catになります。
infoにカテゴリーを作成し、
artist の子カテゴリに Aさん Bさん Cさん Dさん Eさん
media の子カテゴリに cm tv movie book other
現在このような状態になっております。
投稿する際に アーティスト Aさん の メディア TV といったように複数のカテゴリを選択しています。
トップページでは、日付と TV(メディアで選択したもの) と 記事タイトルを取得したものを表示するようにしたいのですが、どうしてもメディアの子カテゴリ名(tvなど)を取得をすることができません。
やり方がどうしてもわからず現在は最下層のカテゴリを選択する
という指示を出しているのですが、アーティストの最下層のカテゴリが表示されてしまうこともあり、
メディアの最下層という指定の仕方を教えていただきたいです。
現在のタグは以下になります。
php
1<div class="news_list"> 2 <?php $args = array( 3 'post_type' => 'info', /* カスタム投稿名が「info」の場合 */ 4 'posts_per_page' => 5, /* 表示する数 */ 5 ); ?> 6 7 <?php $my_query = new WP_Query( $args ); ?> 8 9 <ul> 10 11 <?php while ( $my_query->have_posts() ) : $my_query->the_post(); ?> 12 13<!-- ▽ ループ開始 ▽ --> 14 15 <li> 16 <span class="day wf-sawarabimincho"><?php the_time( get_option( 'date_format' ) ); ?></span> 17 <?php 18 $cats = get_the_terms( $post->ID, 'info_cat' ); 19 $current_cat = ''; 20 foreach ( $cats as $cat ) { 21 if ( ! $current_cat || cat_is_ancestor_of( $current_cat, $cat ) ) { 22 $current_cat = $cat; 23 } 24 } ?> 25 <a href="<?php echo get_category_link( $current_cat ); ?>"> 26 <span class="info_cat wf-sawarabimincho"> 27 <?php echo $current_cat->name; ?> 28 </span> 29 </a><br class="br_sp"> 30 <span class="info_txt wf-sawarabimincho"> 31 <a href="<?php the_permalink(); ?>"> 32 <?php echo wp_trim_words( get_the_title(), 30, '...' ); ?> 33 </a> 34 </span> 35 </li> 36<!-- △ ループ終了 △ --> 37 <?php endwhile; ?> 38 </ul> 39</div>
ほかにも下記を試したのですが、全部cmしか拾ってこない状況です。
php
1<?php 2 // 子カテゴリのスラッグを指定 3 $tax_slugs = array( 'media' ); 4 5 foreach( $tax_slugs as $tax_slug) : 6 // 対象のタクソノミーを指定 7 $taxonomy = 'info_cat'; 8 9 $term_info = get_term_by( 'slug', $tax_slug, $taxonomy ); 10 11 $args = array( 12 'post_type' => 'info', 13 'nopaging' => true, 14 'tax_query' => array( 15 array( 16 'taxonomy' => $taxonomy, 17 'field' => 'slug', 18 'terms' => array( $tax_slug ), 19 ) 20 ) 21 ); 22 23 query_posts($args); 24 25 if ( have_posts() ) : ?> 26 27 // リストの見出しとしてターム名(カテゴリー名)を表示します。 28 <h2><?php echo $current_cat->name; ?></h2> 29 <ul> 30 <?php 31 while ( have_posts() ) : the_post(); ?> 32 33 <li><span class="info_cat wf-sawarabimincho"><?php echo $current_cat->name; ?></span><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> 34 <?php endwhile; ?> 35 </ul> 36 <?php endif; ?> 37 <?php wp_reset_query(); ?> 38 <?php endforeach; ?><!-- $tax_slugs -->
初心者で申し訳ございませんが、
ご教授よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/26 05:18
2020/06/26 05:27
2020/06/26 05:40