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.