Get_termsを使用して、現在のページの分類法のみを取得する方法が必要です。例 http://sitename.com/genre/hip_hop は、ヒップホップのジャンルも付加された分類法のみを取得します。
wp_get_object_termsは私にとってはほとんど動作しますが、get_termsのようにループしません。
これは私が今持っているものです
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post();
$cam_brands = get_the_terms( $post->ID, 'sub_genre' );?>
<?php foreach( $cam_brands as $brand ) : ?>
<h3 class="genre-title"> <?php echo $brand->name; ?> </h3>
<?php $wpq = array( 'post_type' => 'track', 'taxonomy' => 'sub_genre', 'term' => $brand->slug, 'post_status' => 'publish','posts_per_page' => -1, 'caller_get_posts'=> 1 );
$brand_posts = new WP_Query ($wpq);?>
<ul>
<?php foreach( $brand_posts->posts as $post ) : ?>
<li> <?php echo $post->post_title; ?> <a class="sc-player" href="<?php echo get('soundcloud_link'); ?>">track</a> </li>
<?php endforeach ?>
</ul>
<?php endforeach ?>
<?php endwhile; ?>
<?php endif; ?>
探しているのは get_the_terms
だと思います。これには、投稿IDとそれに付随する用語を取得するための分類法を指定できます。
外側のforeach
を通常のfor
ステートメントに変更することを検討したいと思うかもしれません。 foreach
内でforeach
を使用している間に繰り返し回数に関する問題が発生しました(入れ子になったforeachステートメント)。これはあなたのコードの出力に影響を与えているかもしれません。 PHPはこれを文書化しました 彼らのウェブサイトで。