Un nuovo passaggio per la costruzione del nostro sito è stato quello di realizzare un template di pagina personalizzato per la nostra pagina CONTATTI, che volevamo costruire con wordpress per facilitare l’archiviazione dei contatti ricevuti via modulo in uno stesso database.
Non ci bastava però creare una nuova pagina con la procedura standard di wordpress perchè avevamo bisogno di fare delle piccole modifiche sull’header e sul footer della pagina, quindi abbiamo avuto bisogno di un nuovo template costruito ad hoc.
Procediamo con ordine: la prima cosa che siamo andati a modificare è stata la nostra testata, che volevamo leggermente diversa rispetto alla testata della nostra pagina CONVERSAZIONI (che in realtà per noi rappresenta l’index del blog).
Duplicazione header.php
Per ottenere questo abbiamo duplicato il file header.php e l’abbiamo rinominato header-contatti.php (sempre nella cartella del nostro tema figlio). Abbiamo fatto tutte le modifiche che ci servivano e abbiamo salvato.
La cartella del nostro tema figlio dunque si trova ad avere due testate: la principale (“header.php”) e la personalizzata appena creata (“header-contatti.php”).
Creazione nuovo template di pagina contatti.php
In seguito abbiamo duplicato il file page.php, l’abbiamo salvato come contatti.php e siamo andati a modificare il codice di quest’ultimo, inserendo come PRIMA voce queste righe:
<?php /** * Template Name: contatti */ ?>
In questo modo stiamo dicendo a wordpress che abbiamo impostato un nuovo template di pagina.
Questo semplice testo, in altre parole, fa capire a wordpress che il file contatti.php è un template che potrà essere utilizzato come modello per creare nuove pagine. Il nome del template così definito comparirà nell’elenco dei modelli di pagina disponibili quando si crea una nuova pagina.
A questo punto non resta altro che andare a richiamare la nostra header personalizzata (header-contatti.php).
Cerchiamo in contatti.php la voce
get_header();
e sostituiamola con
get_header('contatti');
La funzione get_header() infatti (e non è la sola :-)) accetta un parametro all’interno delle parentesi: è una stringa di testo, racchiusa fra virgolette, che identifica la seconda parte del nome completo del file che stiamo richiamando preceduto da trattino.
Mi spiego meglio: scrivere get_header(‘qualcosa’) significa dire a wordpress: “vai a cercare quel file che ha per nome header-qualcosa.php ed includilo qui dentro”…
Quindi get_header(‘contatti’) includerà il contenuto del file header-contatti.php.
Ok, il grosso del lavoro è stato fatto: abbiamo il nostro template per i contatti, con una testata personalizzata ed una pagina personalizzata, non resta che creare la nostra nuova pagina, assegnarle il modello contatti e procedere con le modifiche consuete in html.