WordPress.org

Ready to get started?Download WordPress

Codex

Attention Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

it:Riferimento funzioni/wp tag cloud

Contents

Descrizione

La funzione wp_tag_cloud() mostra una lista di tag in una forma nota come 'tag cloud' (nuvola di tag), dove la dimensione di ogni tag è determinata da quante volte quel particolare tag è stato assegnato ai post.

A partire dalla versione 2.8, è stato aggiunto il parametro taxonomy che consente l'uso di qualunque tassonomia personalizzata come base per generare la nuvola da presentare ai visitatori.

Utilizzo

<?php wp_tag_cloud$args ); ?>

Utilizzo standard

 <?php $args = array(
    
'smallest'                  => 8
    
'largest'                   => 22,
    
'unit'                      => 'pt'
    
'number'                    => 45,  
    
'format'                    => 'flat',
    
'separator'                 => \\"\n\\",
    
'orderby'                   => 'name'
    
'order'                     => 'ASC',
    
'exclude'                   => null
    
'include'                   => null
    
'topic_count_text_callback' => default_topic_count_text,
    
'link'                      => 'view'
    
'taxonomy'                  => 'post_tag'
    
'echo'                      => true,
    
'child_of'                  => null
); ?>

Nota: c'è un probema di formattazione nel codex con le virgolette doppie sulla riga della chiave 'separator': il valore dovrebbe essere "\n" (virgolette doppie senza carattere di escape).

La chiave child_of non fa parte direttamente dell'array in wp_tag_cloud, ma poiché questa funzione utilizza wp_parse_args() e get_terms(), si possono usare tutte le chiavi dell'array usato da get_terms()!

Descrizioni delle chiavi dell'array e valori predefiniti:

  • smallest - Il tag più piccolo (con il conteggio minore) è mostrato con una dimesione pari a 8
  • largest - Il tag più grande (con il conteggio maggiore) è mostrato con una dimesione pari a 22
  • unit - Descrive 'pt' (punto) come unità di misura della dimensione del font per i valori in smallest e largest
  • number - Mostra al massimo 45 tag
  • format - Mostra i tag in uno stile appiattito (separati da spazi bianchi)
  • separator - Mostra uno spazio bianco tra i tag
  • orderby - Ordina i tag per nome
  • order - Ordina i tag in senso ASCENDENTE
  • exclude - Non esclude alcun tag
  • include - Include tutti i tag
  • topic_count_text_callback - Usa la funzione default_topic_count_text
  • link - visualizzazione
  • taxonomy - Usa i tag dei post come base della nuvola
  • echo - stampa i risultati

Parametri

smallest
(integer) (opzionale) La dimensione del testo del tag con il conteggio più basso (con l'unità di misura data dal parametro unit).
Default: 8
largest
(integer) (opzionale) La dimensione del testo del tag con il conteggio più alto (con l'unità di misura data dal parametro unit).
Default: 22
unit
(string) (opzionale) Unità di misura per i valori dei parametri smallest e largest. Può essere qualunque valore CSS, es. pt, px, em, %.
Default: 'pt'
number
(integer) (opzionale) Il numero di tag da mostrare nella nuvola. (Usare '0' per mostrarli tutti.)
Default: 45
format
(string) (opzionale) Formato in cui mostrare la nuvola.
  • 'flat' tag separati dal carattere definito nel parametro 'separator'.
  • 'list' UL con la classe di stile 'wp-tag-cloud'
  • 'array' restituisce la nuvola di tag sotto forma di array da usare in PHP
Default: flat
separator
(string) (opzionale) Il testo/spazio tra i tag.
Default: '\n' (spazio bianco)
orderby
(string) (opzionale) Ordine dei tag.
  • 'name' per nome
  • 'count' per conteggio
Default: name
order
(string) (opzionale) Ordinamento.
  • 'ASC' ascendente
  • 'DESC' discentente
  • 'RAND' casuale
Default: ASC
exclude
(string) (opzionale) Lista separata da virgole di tag (term_id) da escludere. Per esempio, exclude=5,27 significa che i tag con term_id 5 o 27 non verranno mostrati. Di base non viene escluso nulla.
Default: null
include
(string) (opzionale) Lista separata da virgole di tag (term_id) da includere. Per esempio, include=5,27 significa che i tag con term_id 5 o 27 saranno gli unici tag mostrati. Di base si include tutto.
Default: null
topic_count_text_callback
(string) (opzionale) La funzione che, dato il conteggio dei post con quel tag, restituisce un testo per il tooltip del link al tag.
Default: default_topic_count_text
link
(string) (opzionale) Imposta il link per permettere la modifica di un particolare tag.
  • 'view' visualizzazione
  • 'edit' modifica
Default: view
taxonomy
(string o array) (opzionale) Tassonomia o array di tassonomie da usare per generare la nuvola.
  • 'post_tag'
  • 'category'
  • 'link_category'
  • 'qualunque altra tassonomia registrata'
  • o array di tassonomie Nota: questo parametro è stato introdotto nella versione 3.1
Default: post_tag
echo
(boolean) (opzionale) Stampa il risultato o lo restituisce in una variabile. Il valore di default è true (stampa la nuvola).
  • 1 (true)
  • 0 (false)
Default: true

Esempi

Nuvola mostrata sotto il titolo Tag popolari

<?php if ( function_exists('wp_tag_cloud') ) : ?>

<h2>Tag popolari</h2>
<ul>
<li><?php wp_tag_cloud('smallest=8&largest=22'); ?></li>
</ul>

<?php endif; ?>

Nuvola limitata nella dimensione e ordinata per conteggio invece che per nome

<?php wp_tag_cloud('smallest=15&largest=40&number=50&orderby=count'); ?>

Nuvola restituita come array ma non stampata

La variabile $tag contiene la tag cloud da usare in altro codice PHP

 <?php $tag = wp_tag_cloud('format=array' );?>

Mostrare una nuvola di categorie

Utilizzare l'argomento taxonomy per far sì che la nuvola di categorie venga mostrata.

<?php 
wp_tag_cloud( array( 'taxonomy' => 'category' ) ); 
?>

Mostrare una nuvola di categorie e tag

Utilizzare un array per l'argomento taxonomy per far sì che la nuvola di categorie e tag venga mostrata.

<?php 
  $args = array(
    'taxonomy'  => array('post_tag','category'), 
   ); 
   
  wp_tag_cloud($args);
?>

Modificare il titolo dei link

Utilizzare l'argomento topic_count_text_callback per passare una funzione di callback. La funzione originale default_topic_count_text() si trova in /wp-includes/category-template.php Questo esempio modifica il testo del titolo da "topics" a "pictures".

<?php 
wp_tag_cloud( array( 'topic_count_text_callback' => 'my_tag_text_callback' ) ); 

function my_tag_text_callback( $count ) {
 return sprintf( _n('%s picture', '%s pictures', $count), number_format_i18n( $count ) );
}
?>

Creare un archivio di tag

Mentre la nuova funzionalità di tagging in 2.3 è una grande aggiunta, la funzione wp_tag_cloud può essere usata per mostrare un archivio di tag. Questo vuol dire che quando un visitatore clicca su un determinato tag, verrà mostrata una pagina che mostra la nuvola di tag e tutti i post a cui è stato abbinato quel tag. Secondo la Template Hierarchy, se un template tag.php non esiste verrà usato il template archive.php. Creando questo template tag.php si può personalizzare il modo in cui l'archivio di tag apparirà, questo template include la nuvola all'inizio allo scopo di permettere una facile navigazione.

Per fare ciò, un nuovo template deve essere aggiunto ai file del proprio tema. Ci sono ottime risorse per tutto quel che riguarda template, Template Hierarchy. I passi fondamentali sono

  • 1. Creare un file con il contenuto sottostante e dargli come nome tag.php.
  • 2. Caricare il file nella propria cartella dei temi.
  • 3. Questo è opzionale solo se si desidera avere nel menu di bnavigazione un collegamento all'archivio dei tag, altrimenti qunado si clicca su un tag verrà usato questo template.
    • Creare una pagina vuota usando questo template, dare a questa pagina il titolo "Archivio dei tag".

Per elaborare di più sul passo tre:

WordPress può esser econfigurato per usare diversi template per differenti pagine. In fase di scrittura di una pagina, sulla barra laterale c'è un menu a tendina chiamato "Template pagine". Da qui si può selezionare quale template sarà usato quando la pagina che si sta creando o modificando verrà mostrata.

<?php /*
Template Name: Tag Archive
*/ ?>
<div>
<?php get_header(); ?>
<h2>Tag Archive</h2>
<?php wp_tag_cloud(''); ?>
	<div class="navigation">
<div class="alignleft"><?php next_posts_link('« Articoli più vecchi') ?></div>
<div class="alignright"><?php previous_posts_link('Articoli più recenti »') ?></div>
	</div>
<?php if (have_posts()) : ?>
		<?php while (have_posts()) : the_post(); ?>
		<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permalink a <?php the_title(); ?>"><?php the_title(); ?></a></h2>
	<div class="entry">
	<?php the_content('Leggi il resto dell'articolo »'); ?>
	</div>

	<?php endwhile; ?>
	<?php endif; ?>
</div>
<?php get_footer(); ?>

Si prega di notare che lo stile non è stato aggiunto a questo template. Un buon modo per determinare la struttura che il proprio tema utilizza è vedere il file single.php.

Log delle modifiche

  • 3.1 :
    • Aggiunta la possibilità di passare un array per il parametro taxonomy.
  • 2.9 :
    • Aggiunto il parametro separator.
  • 2.8 :
    • Aggiunto il parametro taxonomy.
    • Aggiunto il parametro echo.
  • 2.7 :
    • Aggiunto il parametro link.
  • 2.5 :
    • Aggiunto il valore 'RAND' per il parametro order per restituire i tag in ordine casuale.
    • Aggiunto il valore 'array' per il parametro format per restituire un array.

File sorgente

wp_tag_cloud() si trova in wp-includes/category-template.php.

Correlati

Tags: get_tag(), get_tag_link(), get_tags(), get_the_tag_list(), get_the_tags(), is_tag(), the_tags(), single_tag_title(), tag_description(), wp_generate_tag_cloud(), wp_tag_cloud()

Si veda anche l'indice di Riferimento funzioni e l'indice di Tag dei template.