get_terms del post->id
Ho bisogno di un modo per utilizzare get_terms in modo che recuperi solo le tassonomie della pagina corrente. Ad esempio http://sitename.com/genre/hip_hop dovrebbe recuperare solo le tassonomie che hanno anche il genere hip hop associato.
wp_get_object_terms funziona quasi per me ma non esegue il loop come fa get_terms.
Ecco quello che ho al momento
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post();
// Ottiene i termini della tassonomia sub_genre per il post corrente
$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 );
// Crea una nuova query per ottenere i post del genere corrente
$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'); ?>">traccia</a> </li>
<?php endforeach ?>
</ul>
<?php endforeach ?>
<?php endwhile; ?>
<?php endif; ?>

Penso che quello che stai cercando sia get_the_terms
, dove puoi specificare un ID del post e una tassonomia per recuperare i termini associati.

Penso che potresti voler considerare di cambiare il tuo foreach
esterno con un normale statement for
. Ho riscontrato problemi con i conteggi delle iterazioni quando uso un foreach
dentro un altro foreach
(istruzioni foreach annidate). Questo potrebbe influenzare l'output del tuo codice. PHP ha documentato questo sul loro sito web.
