Nelle lezioni precedenti su WordPress abbiamo sottolineato il fatto che una pagina può essere associata ad un determinato template e che diverse pagine possono essere associate a template differenti.
L'associazione tra pagine e template avviene attraverso un apposito box situato sul percorso "Scrivi >> Scrivi Pagine" e denominato appunto "Template Pagine".
In pratica, associando un template a una pagina, potremo variare, per ques'ultima, variabili fondamentali come, per esempio:
- la presenza della colonna del menù;
- la presenza del footer o dell'header;
- l'impostazione grafica della pagina.
Inoltre, grazie ai template, chi sa programmare, potrà facilmente inserire nuove funzionalità per estendere le funzioni del blog stesso. Un esempio classico, che potrà far capire bene ciò di cui sto parlando, potrebbe essere un blog sui libri (sui film, su software, ecc) che, oltre al blog engine stesso, dovrà avere una lista di schede, magari con i dati sui libri.
Molto semplicemente, passando delle variabili alla nuova pagina creata (con o senza mod_rewrite), e associando la pagina a una tabella del database, si avrebbe a disposizione la struttura necessaria per inserire nella pagina le informazioni che ci interessano.
I vantaggi sono evidenti: per ogni libro non creiamo una nuova pagina ma si usa un'unica pagina (struttura) alla quale viene passato di volta in volta un parametro (che potrebbe essere l'ID o il nome del libro) per richiamare il giusto record sul database.
Se poi tale sistema venisse implementato insieme a un pannello interno per la gestione della tabella del DB, si avrebbe uno strumento semplice e potente per la gestione delle schede, oltre al blog.
Passando a un esempio pratico più semplice, supponiamo di dover creare una pagina "Chi siamo", con il solo corpo, quindi, senza la colonna del menù.
Listato 1. Creazione pagina template
<?php
/*
Template Name: Chi siamo
*/
?>
<?php get_header(); ?>
<div id="content" class="pagecolumn">
<h2>Chi siamo</h2>
<p>Testo del chi siamo</p>
</div>
<?php get_footer();?>
Un template del genere, ogni volta che verrà usato, creerà una pagina con il titolo "Chi siamo" e il testo tra <p>
.
Se volessimo mostrare, invece, il testo e il titolo scritto nella pagina, ma senza il menù, basterà creare un template così formato:
Listato 2. Template pagina
<?php
/*
Template Name: Solo corpo<br/>
*/
?>
<?php get_header(); ?>
<div id="content" class="narrowcolumn">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div id="post-<?php the_ID(); ?>">
<h2 class="post_title"><?php the_title(); ?></h2>
<div class="entry">
<?php the_content(); ?>
</div>
</div>
<?php endwhile; endif; ?>
</div>
<?php get_footer();?>