Obtener términos de post->id
Necesito una forma de usar get_terms y que solo obtenga las taxonomías de la página actual. Por ejemplo, http://sitename.com/genre/hip_hop solo obtendría las taxonomías que también tienen el género hip hop adjunto.
wp_get_object_terms casi funciona para mí pero no hace el bucle de la manera que lo hace get_terms.
Aquí está lo que tengo ahora
<?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'); ?>">pista</a> </li>
<?php endforeach ?>
</ul>
<?php endforeach ?>
<?php endwhile; ?>
<?php endif; ?>

Creo que lo que estás buscando es get_the_terms
, donde puedes especificar un ID de publicación y una taxonomía para recuperar los términos asociados.

Creo que podrías considerar cambiar tu bucle exterior foreach
por una sentencia for
regular. He experimentado problemas con los conteos de iteración al usar un foreach
dentro de otro foreach
(sentencias foreach anidadas). Esto podría estar afectando la salida de tu código. PHP ha documentado esto en su sitio web.
