Creare una Home Page personalizzata in WordPress

Edit del 24/6/2008: questo articolo è piuttosto datato. Le ultime versioni di WordPress permettono di impostare come Home Page una pagina creata nel pannello di amministrazione, per cui sostanzialmente questo post non è più tanto utile ;-)

Nota: Questo articolo è la traduzione in italiano di How to Put Up a Custom Front Page in WordPress il quarto di una serie di post pubblicati su blogHelper che spiega come trasformare WordPress in un sistema di gestione di contenuti. La traduzione viene pubblicata qui con il permesso dell’autore: Ang Zhuu Ming.

* * *

A che serve?

WordPress mostra di default nella Home Page gli articoli in ordine cronologico inverso, oltre ai vari blocchi della Barra laterale (Commenti recenti, Flickr, eccetera). Questo tipo di Home Page è probabilmente la prima cosa di cui vogliamo sbarazzarci quando vogliamo usare WP come un CMS, ad esempio, se vogliamo inserire nella home page una introduzione, la mappa del sito oppure un filmato flash.

Allo stesso tempo però, vogliamo comunque avere la pagina principale del blog da qualche parte, cioè la pagina che contiene gli articoli. Come possiamo personalizzare la home page pur conservando la pagina con gli articoli del blog? Ci sono diversi sistemi per ottenere questo risultato, non sono gli unici, ma probabilmente serviranno allo scopo.

1) La pagina predefinita di WP: home.php

Per visualizzare la pagina principale, WP usa una gerarchia dei file dei template. Questo significa che WP richiama prima il file home.php presente nella directory del nostro template. Se tale file non esiste, viene usato il file index.php.
Così possiamo copiare il contenuto di index.php, creare un file home.php dove inserire il codice da usare nella nostra home page, più o meno in questo modo:

< ?php
/*
Template Name: Home
*/
?>

< ?php get_header(); ?>

Qui inseriamo il codice PHP/HTML da visualizzare nella nostra home page.

< ?php get_footer(); ?>

Questo per quanto riguarda la Home Page.
Ora, per la pagina principale del blog dobbiamo creare una pagina chiamata “Blog” (il nome non ci interessa, l’importante è che l’abbreviazione della pagina sia qualcosa tipo “blog”, “diario” ecc. che sarà raggiungibile all’indirizzo http://miosito.it/blog/) e un template di pagina corrispondente.
Il nome del template non è importante, ma per evitare confusioni, possiamo creare un file blog.php il cui contenuto deve essere identico al nostro file index.php con la semplice aggiunta di queste righe.

< ?php
/*
Template Name: Blog
*/
?>

A questo punto bisogna aggiornare la struttura dei permalink nel nostro pannello di controllo. Andiamo in Opzioni >> Permalink. Se prima l’indirizzo era un semplice /%postname%/ ora dobbiamo cambiarlo in /blog/%postname%/.
In questo modo gli articoli del blog avranno un indirizzo tipo http://miosito.it/blog/titolo-articolo/ e così facendo verranno cambiate automaticamente anche gli indirizzi delle categorie (http://miosito.it/blog/categoria/titolo-categoria/)
Nota: il controllo is_home() ora sarà riferito alla home page appena creata e non più alla pagina indice del blog, per la quale dovremo usare is_page('blog').

2) Variante al metodo 1

Creare due file home.php e index.php può essere ridondante, dal momento che il file originale index.php non viene praticamente usato. Perciò possiamo creare un file blog.php per la visualizzazione del blog, e usare index.php per personalizzare la home page.
Il vantaggio è che così abbiamo il file home.php disponibile per eventuali future personalizzazioni o per fare dei controlli prima di visualizzare la home page (ad esempio in base al browser dei nostri visitatori).

3) Usare il plugin Filosofo Home-Page Control

Questa è probabilmente la soluzione più semplice. Questo plugin infatti, ci permette di impostare come home page una qualsiasi pagina che abbiamo creato nel nostro pannello di amministrazione oppure usare uno dei due file prima citati (home.php e index.php).

4) Usare il plugin Static Front Page

Sebbene questo plugin sia differente, il meccanismo è più o meno lo stesso del plugin Filosofo Home-Page Control. L’unica differenza è che con Static Front Page dobbiamo creare una Pagina / Template (ad esempio “Blog” ) ed un corrispondente file di template blog.php che verrà usato come home page come nel metodo 1. Dopo la creazione, dobbiamo inoltre aggiornare la nostra struttura di Permalink.

Conclusioni

Personalmente preferisco il plugin Filosofo Home-Page Control, ma sinceramente tutti i metodi finora illustrati funzionano bene.

Gli altri articoli della serie

  1. Usare WordPress come un CMS
  2. 5 ragioni per usare WordPress come un CMS
  3. 5 ragioni per non usare WordPress come un CMS