14 Template di pagina (modelli delle pagine)
I template di pagina sono file php che possono essere creati per modificare l’aspetto o il comportamento delle singole pagine.
Il template di pagina predefinito è page.php.
Per creare un template di pagina personalizzato, bisogna dare un nome al file php e inserire all’inizio il seguente codice:
<?php /* Template Name: My Page Template */ ?>
Dove su Template Name diamo un nome descrittivo al nostro template page che comunque non deve corrispondere al nome del file php. Tale nome deve aiutarci a capire il tipo di template page che andremo ad usare e una volta salvato il file, il template name comparirà nel beckend di modifica/creazione delle nostre pagine, nella sezione attributi della pagina.
Può essere utile assegnare ai template pagina il nome pagetemplate-[qualcosa].php solo per una migliore comprensione, in realtà si può assegnare qualsiasi nome.
Non bisogna chiamarli page-[qualcosa].php dato che page-[slug].php è un template file che potrebbe essere oggetto di una ricerca da parte di WordPress, e questo potrebbe causare problemi.
Un uso comune per i template di pagina è una pagina di archivio. Potrebbe essere necessario un link agli archivi che mostrano tutti gli autori, le categorie, i tag e gli ultimi 50 post mediante i template tag. Questa operazione non funziona con una pagina comune, perché non potete collocare i template tag all’interno del post stesso attraverso l’amministrazione di WordPress, almeno non senza utilizzare i plugin che aprono l’editor, quindi occorre un template di pagina. Aggiungetene uno al vostro nuovo tema, progettato per essere utilizzato con semplici archivi di blog:
<?php /* Template Name: Archives */ get_header(); ?> <div id="main-container"> <section id="content-container"> <?php // Avvia il loop while (have_posts()) : the_post(); ?> <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <header> <h1 class="entry-title"> <?php the_title(); ?> </h1> </header> <?php // Il contenuto the_content(); ?> <h2>Sfoglia per mese</h2> <ul> <?php // Gli argomenti $args = array( 'type' => 'monthly'); // Gli archivi wp_get_archives($args); ?> </ul> <h2>Sfoglia per categoria</h2> <ul> <?php // Gli argomenti $args = array( 'title_li' => '' ); // Le categorie wp_list_categories($args); ?> </ul> <h2>Sfoglia per tag</h2> <?php // Gli argomenti $args = array( 'smallest' => 8, 'largest' => 28, 'number' => 0, 'orderby' => 'name', 'order' => 'ASC' ); // La tag cloud wp_tag_cloud($args); ?> </article> <?php // Fine del loop endwhile; ?> </section> <!-- #main-container ends --> <?php get_sidebar(); ?> </div> <?php get_footer(); ?>
La prima parte richiama l’header e il contenuto della pagina.
Il vero nuovo contenuto inizia dal’ <h2> dove inserisco in una lista <ul> gli archivi restituiti per mese, tramite l’argomento ( $args ) passato come query-string:
$args = array( 'type' => 'monthly');
Tale argomento (monthly) è uno di quelli presenti nella funzione wp_get_archives() integrata in WordPress che restituisce una elenco di archivi per data.
In modo analogo per le categorie con wp_list_categories() e per i tag con wp_tag_cloud .
Altri usi comuni comprendono le pagine create solo per visualizzare un loop specifico.
Oppure potete utilizzare il template file index.php, per esempio, e creare un template di pagina all’esterno, collocare il segmento di codice in alto, quindi modificare il loop per ottenere quanto desiderato mediante query_posts().
Potete anche disporre di una pagina contenente più loop o anche del codice PHP che non è correlato per nulla a WordPress.