get_terms del post->id

7 feb 2012, 19:27:50
Visualizzazioni: 24.4K
Voti: 2

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; ?>
0
Tutte le risposte alla domanda 2
0

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.

7 feb 2012 19:33:25
0
-1

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.

26 lug 2012 13:25:46