Limitare il numero di tags di una custom taxnomy di wordpress

camaleonte

16 November 2012 Author

Recentemente nello sviluppo di un tema mi è capitato di dover limitare, su due tipi di pagine, in modi diversi l’output dei tags relativi ad un custom post e alla sua tassonomia. In pratica per questioni di spazi grafici dovevo, per un determinato custom post, stampare solo 5 tags della tassonomia associata in home, dove vengono raccolti tutti i post in forma breve (titolo e excerpt) e tutta la lista di tag nella pagina del singolo post, dove il poste è visualizzato interamente.

Se scrivo così, in una qualsiasi pagina del tema:

<?php $tags = get_the_term_list( $post->ID, 'tag', '', ' ', '' ) ; 
echo $tags; ?>

ottengo tutta la lista dei tags stampati a video, per la tassonomia tag, separati tra loro da uno spazio. Ovvero prendo la lista de tags la assegno ad una variabile e poi stampo la variabile.

Se invece voglio limitare il numero di tags visualizzati a video devo prendere sempre la lista di tags, e inserirla in un ciclo che si interrompe dopo un determinato numero di volte.

<?php 
$tagged = wp_get_post_terms($post->ID, 'tag', array("fields" => "all"));

$max_loop=5; 
$count = 0; 
foreach($tagged as $valore) {   ?>

&diams; 
<a href="<?php bloginfo('url');?>/tag/<?php echo $valore->slug; ?>" >
<?php echo $valore->name; ?></a> 

<?php $count++; 
if($count==$max_loop) break;      
 } ?>

In pratica prima si crea una variabile $max_loop che indica il numero di volte che lo script deve ciclare, una variabile $count che serve a contare il numero di cicli, poi lo script interrompe con un break la stampa dei tags una volta che il conteggio $count ha raggiunto il numero indicato da $max_loop.

Fine.

Php, Wordpress

Comments are closed.