I template tag sono funzioni definite nel core di WordPress che prelevano informazioni dal database e generano dinamicamente un output, quest'ultimo può essere mandato direttamente a video o restituito come valore di una variabile.
Molti template tag generano informazioni relative a post e pagine, come il titolo, l'autore, la data di pubblicazione, etc. Questi tag vanno utilizzati all'interno del Loop. Altri tag generano informazioni di carattere generale e possono essere utilizzati al di fuori del Loop.
Tag frequentemente utilizzati
Tra i tag di utilizzo più frequente, bloginfo() fornisce un semplice esempio di come restituire a video informazioni sul sito Web corrente:
<h2 class="site-description"><?php bloginfo( 'description' ); ?></h2>
L'argomento individua il tipo di informazione richiesta e la funzione invia direttamente l'output al browser. Il codice precedentemente proposto manda a video il seguente testo:
<h2 class="site-description">Un nuovo sito targato WordPress</h2>
Spesso l'output restituito a video non è costituito da una semplice stringa di testo, ma da un frammento di codice HTML:
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
the_ID() restituisce l'ID del post corrente in forma di stringa; post_class(), invece, restituisce un frammento di codice HTML, sicché l'output a video sarà:
<article id="post-90" class="post-90 post type-post status-publish format-standard hentry category-news">
Tra le molte decine di tag, è possibile individuare due sottogruppi che si presentano con caratteristiche omogenee: i tag con prefisso the_ e i tag con prefisso get_.
I tag the_
Il prefisso the_ individua un tag che manda a video un output. the_title() e the_permalink(), ad esempio, restituisce a video il titolo e il permalink di un post (o di una pagina) e deve necessariamente essere utilizzato all'interno del Loop. Si consideri questo esempio:
<h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
Con questa istruzione vengono stampati a video il permalink e il titolo di un post all'interno di un titolo delimitato da h2. Altri tag the_ di impiego comune sono:
| Tag | Descrizione |
|---|---|
the_author() |
Produce una stringa con il nome dell'autore di un post. |
the_author_meta() |
Mostra ogni altro tipo di informazione sull'autore del post. |
the_time() e the_date() |
Mostrano ora e data di pubblicazione. |
the_excerpt() e the_content() |
Mandano a video il riassunto e il contenuto principale del post. |
the_category() e the_tags() |
Generano l'elenco delle categorie e dei tag post. |
I tag get_
Se i tag the_ stampano un output a video, i tag get_ restituiscono una stringa da gestire via PHP. Il framework dispone, per molti tag the_, di un corrispondente tag get_. Così i tag get_permalink() e get_the_title() permettono di ottenere lo stesso risultato dell'esempio precedente:
<a href="<?php esc_url( get_permalink() ); ?>"><?php echo get_the_title(); ?></a></h2>
get_permalink() e get_the_title() possono essere utilizzati al di fuori del Loop, e quindi si prestano ad una molteplicità di impieghi. Altri tag di uso comune sono get_bloginfo(), get_the_author(), get_the_author_meta(), get_the_time(), get_the_date(), get_the_excerpt() e get_the_content() i cui nomi rendono facilmente intuibile la funzione svolta.
Tag condizionali
Sono funzioni che permettono di testare una condizione. Grazie a questi tag, è possibile generare un output alternativo a seconda del valore TRUE o FALSE restituito. is_single(), ad esempio, restituisce TRUE al caricamento di una pagina singola:
if ( is_single() ) :
the_title( '<h1 class="entry-title">', '</h1>' );
else :
the_title( '<h1 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h1>' );
endif;
Altri tag condizionali di uso corrente sono is_home() e is_front_page(), che testano se la pagina corrente sia la Home Page del sito Web corrente (blog o pagina statica); is_page(), che verifica che l'utente si trovi in una pagina statica; is_category(), che verifica la categoria del post corrente.
Include tags
Gli Include Tags, di cui si è già parlato nei capitoli precedenti, sono funzioni che includono il contenuto di specifici template. Si tratta dei seguenti template tags:
get_header()get_footer()get_sidebar()get_template_part()get_search_form()comments_template()
Anche in questo caso i nomi dei tags rendono facilmente intuibile la funzione svolta
I parametri
Come tutte le funzioni PHP, i template tag possono accettare o meno argomenti. bloginfo(), ad esempio, accetta una stringa che individua il tipo di dato da mandare a video. Nel caso non venisse passato alcun argomento, bloginfo() stamperà il nome del sito Web corrente.
Alcuni tag accettano argomenti come ogni funzione PHP; a tal proposito si consideri la seguente istruzione:
<?php single_post_title( 'Title: ', TRUE ); ?>
Qui il primo argomento è un testo da visualizzare prima dell'output, il secondo stabilisce se la funzione deve mandare a video il testo, o restituirlo in una variabile PHP. Infine, alcuni tag accettano argomenti nella forma di array o di querystring:
<?php wp_list_categories( 'orderby=name&exclude=4,5&title_li=<h2>' . __('Events') . '</h2>&taxonomy=event' ); ?>
L'argomento passato alla funzione consiste in una querystring che imposta i valori di quattro parametri: orderby, exclude, title_li e taxonomy. In alternativa alla querystring, gli stessi parametri avrebbero potuto essere trasmessi come elementi di un array.
Riferimenti online
In questo capitolo si è fatto ampio riferimento al Codex di WordPress, e in particolare ai seguenti articoli:
- Template Tags
- Stepping into Template Tags
- Anatomy of a Template Tag
- How to pass tag parameters
- Conditional Tags
- Include Tags
Nel prossimo capitolo si parlerà nel dettaglio della gerarchia dei template.
Se vuoi aggiornamenti su CMS inserisci la tua email nel box qui sotto: