I Tag Condizionali possono venir utilizzati nei file di Template per modificare quale contenuto viene visualizzato e come il contenuto viene visualizzato su una pagina specifica in funzione di determinate condizioni a cui la pagina risponde. Ad esempio, si potrebbe voler visualizzare del testo prima di una serie di articoli, ma ciò solo sulla pagina principale del blog. Tramite il Tag Condizionale is_home() questa operazione è resa molto semplice.
Si noti la stretta relazione che questi tag hanno con Gerarchia dei Template di WordPress.
Tutti i Tag Condizionali verificano se determinate condizioni vengono verificate e restituiscono TRUE (vero) o FALSE (falso). Le condizioni per le quali i vari tag restituiscono TRUE sono elencate di seguito. Quei tag che accettano parametri sono esplicitamente indicati.
is_home() is_single() is_single('17') is_single('Stufato di Carne') is_single('stufato-carne') Questa sezione si riferisce alle Pagine di WordPress e non a generiche pagine web del blog.
is_page() is_page('42') is_page('Chi Sono') is_page('chi-sono') is_category() is_category('6') is_category('Formaggi') is_category('formaggi') Si veda anche is_archive().
is_author() is_author('13') is_author('Elite Hacker') is_author('elite-hacker') Si veda anche is_archive().
is_date() is_year() is_month() is_day() is_time() Si veda anche is_archive().
is_archive() is_search() is_404() is_paged() <!--nextpage-->.
is_feed() is_trackback() Ecco un esempio funzionante che dimostra come utilizzare questi marcatori condizionali.
In questo esempio si visualizzeranno nella barra laterale del blog dei contenuti differenti in base al tipo di pagina che viene visualizzata.
<div id="sidebar">
// generiamo le opportune informazioni per la pagina visualizzata
if (is_home()) {
// siamo nella nome page
// mostriamo l'elenco delle categorie principali
echo "<ul>";
wp_list_cats(
'optionall=0'
.'&sort_column=name'
.'&list=1&children=0'
);
echo "</ul>";
} elseif (is_category()) {
// stiamo visualizzando una singola categoria,
// mostriamo quindi tutte le categorie
echo "<ul>";
wp_list_cats(
'optionall=1'
.'&sort_column=name'
.'&list=1'
.'&children=1'
.'&hierarchical=1'
);
echo "</ul>";
} elseif (is_single()) {
// stiamo visualizzando una singola pagina,
// non mostriamo nulla sulla sidebar
} elseif (is_page()) {
// stiamo visualizzando una pagina statica. Quale?
if (is_page('Info')) {
// la pagina Info.
echo "<p>Questa è la pagina Info!</p>";
} elseif (is_page('Colophon')) {
echo "<p>Questa è la pagina colophon, stiamo utilizzando WordPress "
. bloginfo('version') . "</p>";
} else {
// Testo per tutte le altre pagine
echo "<p>Vota Antonio! Vota Antonio!</p>";
}
} else {
// per tutte le altre pagine (archivi, ricerche, 404, ecc)
echo "<p>Antonio vi offre la sua protezione.</p>";
} // È tutto gente!
?>
<form id="searchform" method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<div>
<input type="text" name="s" id="s" size="15" />
<input type="submit" value="<?php _e('Search'); ?>" />
</div>
</form>
</div>