Ambra Zanni » Giornalista Freelance

Creare una Home Page personalizzata in WordPress! » Ambra Zanni

Creare una Home Page personalizzata in WordPress!

Il mondo del Web Commenta       Feeds       Email Email       Stampa Stampa       [ 5,100 Views ]

Ti sei mai chiesto se è possibile utilizzare Wordpress come un CMS (Content Management System, ovvero un sistema di gestione dei contenuti)?
A molti, me compreso, non piace la complessità di un vero CMS. Troppe funzioni ed un Backend troppo complesso spesso demoralizzano chi desidera dare un po’ di dinamismo al proprio sito. Al tempo stesso, usare un blog come Wordpress può risultare riduttivo. La realtà è che WP nasconde qualità entusiasmanti, accessibili anche ai meno esperti.

Il Problema:

Chi si cimenta con l’installazione di WP può fin da subito dare al sito il dinamismo che merita con l’inserimento di articoli e plugin vari. Difficilmente però, un webmaster, darà a WP il 100% dello spazio web. I siti che usano WP in genere lo rilegano ad una sottocartella di nome /blog mentre il resto del sito è gestito staticamente o mediante altri script.
Io partii nello stesso modo, avevo il mio sito con la sua home page classica ed in tale pagina avevo creato il link alla sottocartella /blog in cui risiedeva WP.
Dopo qualche tempo iniziai a chiedermi come poter far apparire l’ultimo post inserito in WP direttamente nella HomePage. Se fossi riuscito nell’intento, avrei ottenuto una nuova HomePage dall’impatto decisamente più dinamico.
Passarono un paio di mesi et voilĂ , les jeux sont faits.

La Soluzione:

Premessa, nella spiegazione di questa guida si farà riferimento al tema di default e a WP 2.2.3. (ho provato la guida anche su WP 2.3 e funziona nello stesso modo). Le informazioni qui contenute potrebbero essere rivedute qualora si utilizzi un altro tema od un’altra versione, potranno però essere usate come base su cui iniziare.
Punto 1, installa Wordpress nella root del sito web
Ora recati all’interno della cartella del tema di default: http://www.iltuosito.it/wp-content/themes/default

SarĂ  ora necessario creare e modificare dei file, leggi la guida ma se preferisci scarica i file di esempio e sovrascrivi gli originali. In questo modo non avrai nessun problema con la sintassi delle stringhe qui mostrate e velocizzerai il lavoro.

Crea un duplicato del file index.php e rinominalo in home.php (in questo modo avrai 2 file identici ma con nome differente)
Ora apri il file index.php ed in testa al file incolla il seguente codice:

<?php
/*
Template Name: index.php
*/

?>

apri poi il file home.php e sempre in testa al file incolla invece questo codice:

<?php
/*
Template Name: home.php
*/

?>

A questo punto accedi al Backend di WP come amministratore e crea una nuova pagina (cliccando sul menu “Write / Write Page”). A tale pagina dai il titolo Home, non scrivere nulla come contenuto della pagina. Sempre dalla medesima finestra, nelle opzioni poste sulla sidebar alla tua destra, accedi al menu Template e seleziona con il menu a tendina la voce: index.php ( vedi esempio )
Crea poi una seconda pagina dal titolo Blog e seleziona come template la voce: home.php
Ora vai nel menu Options / Reading di WP e nella prima opzione: Front Page clicca il bottone radio “A static Front Page” ed imposta come Front Page la pagina Home, e come Posts Page la pagina Blog ( vedi esempio )
Come ultimo step, vai sempre nelle opzioni nel menu Permalinks e nel campo Custom structure digita:

/blog/%postname%/

confermando poi premendo il tasto Update Permalinks Structure

Il Risultato:

Ora quando i visitatori accederanno alla root del sito visualizzeranno il file index.php (quello modificato sopra, contenuto nella cartella del tema default). Tale file potrai quindi personalizzarlo come meglio credi (javascript, messaggi di benvenuto, form di ricerca….ecc….insomma tutto quello che hai sempre avuto nella tua home page ma con tutte le potenzialità offerte da WP).
Quando invece i visitatori cliccheranno sulla pagina Blog, accederanno alla visualizzazione classica di WP, cioè quella con l’elenco di tutti i post in ordine cronologico inverso.

Un esempio pratico, inserire nella home page solo l’ultimo post pubblicato:

Apri il file index.php sito nella cartella del tema default
individua il seguente porzione di codice:

<?php if (have_posts()) : ?>

e fallo seguire dal seguente codice:

<?php query_posts('showposts=1'); ?>

Ora la home page mostrerà solo l’ultimo post inserito, mentre la pagina Blog mostrerà l’elenco completo.
Esempio applicato al tema di default: ( Pagina Home | Pagina Blog )

L’esempio appena descritto lo puoi trovare online sul sito http://www.ambrazanni.it/

Problemi noti:

La function "Read More" non funziona nella nuova homepage, mentre continua a funzionare senza problemi nella pagina del Blog. Questo è uno dei primi problemi che ho riscontrato quando mi sono cimentato nell’applicare quanto ho descritto in questa guida. Tale problema nasce dal fatto che la funzione in questione non nasce per essere utilizzata nella Pagine di WP ma solo nei Post. Non vi nascondo che risolvere il problema mi ha portato via qualche ora insonne, anche se la soluzione è davvero banale.
Nel file index.php cercate il codice:

<?php the_content('Read the rest of this entry &raquo;'); ?>

e sostituitelo con questo

<?php global $more; $more = false; ?>
<?php the_content('Read the rest of this entry &raquo;'); ?>
<?php $more = true; ?>

Problema Permalinks con WP 2.5 o superiore (testato fino a 2.6.2):

La presente guida funziona anche con WP 2.5 o superiore (io ho provato fino alla 2.6.2) ma è necessario modificare la struttura permalinks come segue:

/%postname%/

Articoli da cui ho preso appunti ed ispirazione:

http://weblogtoolscollection.com/
http://www.studio404.it/
http://www.uncino.net/
http://codex.wordpress.org/
http://turbochargedcms.com/

Se hai domande non esitare a contattarmi, spero questa guida ti sia di aiuto.

A presto, Aless{a}ndro
http://www.uniposca.it/

»  Alessandro Buzzoni


16 Commenti in: “Creare una Home Page personalizzata in WordPress!”

  1. Markos Says:

    Grazie, ottima guida. Nel caso volessi vedere gli ultimi 5 post scritti e magari anche i tag in home, come faccio?

  2. Ambra Zanni Says:

    Ciao Markos. Alssandro sarĂ  felice di aiutarti. Nel frattempo io ti ringrazio per aver visitato il mio sito!

  3. Cristian Balan Says:

    Ciao Markos, prova nel frattempo ad andare dal panello admin su Aspetto e poi dal menu subito sotto su Widgets... se il tuo tema sopporta gli widgets troverai sotto a fine pagina un rettangolo con scritto "Articoli recenti" (c'è anche quello con i "Commenti recenti" se ti serve) e lo trascini sulla tua sidebar (barra laterale) che troverai quindi in mezzo alla pagina, sopra appunto questi rettangoli con le funzioni integrate.
    E' la cosa piĂą semplice se il tuo tema te lo permette e se non vuoi mettere mano al codice... ;)

    ps. davvero bello questo sito, bravi! :)

  4. Ambra Zanni Says:

    Grazie Cristian. Lo scopo di questo post è proprio quello di far incontrare ed aiutare chi si è trovato di fronte allo stesso desiderio. Torna a trovarmi\ci!

  5. Alessandro Buzzoni Says:

    Markos ha scritto:
    Grazie, ottima guida. Nel caso volessi vedere gli ultimi 5 post scritti e magari anche i tag in home, come faccio?

    Ciao Markos, se la guida ti è utile mi fa piacere. Venendo alla tue domande:

    1) se vuoi vedere gli ultimi 5 post usa sempre la stringa:

    <?php query_posts('showposts=1'); ?>

    ma sostituisci al numero 1 il numero 5.

    2) per le TAG non so aiutarti, ma forse troverai interessante questo articolo: http://www.pseudotecnico.org/blog/2006/12/25/wordpress-tag-cloud-per-le-categorie/
    oppure questo:
    http://www.copesflavio.com/blog/blog/wordpress/realizzare-una-tag-cloud-per-wordpress/

  6. Markos Says:

    Ho letto con attenzione tutti gli step di questo tut, ma ancora non sono riuscito a realizzare quanto scritto qui:

    1) Per aggiornare i permalink dovrei aggiornare il file .htaccess giusto? Lo trovo da qualche parte, o me lo devo creare io? Temo dipenda da questo il fatto che entrando nella pagina blog mi dia errore 404...

    2) Nella Home come faccio a liberarmi della barra laterale del tema?

  7. Alessandro Buzzoni Says:

    Markos ha scritto:
    1) Per aggiornare i permalink dovrei aggiornare il file .htaccess giusto? Lo trovo da qualche parte, o me lo devo creare io? Temo dipenda da questo il fatto che entrando nella pagina blog mi dia errore 404…

    Ciao Markos, innanzi tutto vorrei sapere se le prove le stai facendo su un host pubblico, oppure in locale. Se le esegui in locale ho bisogno di sapere quale webserver utilizzi. Io ad esempio uso Xampp e ho dovuto modificare il file di configurazione del server Apache, cioè il file httpd.conf
    In tale file si trovano le varie stringhe che regolamentano il funzionamento del server. Identifica la Strigna:

    #LoadModule rewrite_module modules/mod_rewrite.so

    e rimuovi il # iniziale così da rendere la stringa funzionante. ( come spiegato qui )
    Il file .htaccess viene creato da WP ed aggiornato sempre da WP a seconda di come imposti le opzioni dal Backend.

    Markos ha scritto:
    2) Nella Home come faccio a liberarmi della barra laterale del tema?

    Apri il file index.php (presente nella cartella del tema che utilizzi) e rimuovi la stringa:

    <?php get_sidebar(); ?>

    ciao

  8. Markos Says:

    Grazie mille! Non riuscivo dato che stavo provando in locale; uppato in uno spazio web, tutto è funzionato e andato per il meglio.

    L'unico problema che mi rimane ora è questo: nel tema che uso è rimasto il link "Home" di default, con quello aggiunto da me che porta il template della "index.php". Come togliere quello di default?

    Ciao e grazie per il preziosissimo aiuto.

  9. Alessandro Buzzoni Says:

    Ciao Markos, penso sia sufficiente trovare quale file del tema ha al suo interno il link in questione e rimuoverlo. Per fare una ricerca all'interno di tutti i file puoi usare il programma Search And Replace

  10. La Scintilena - Laboratorio nel buio » Due pagine indice diverse Says:

    [...] Qui c’è scritto come si fa: http://www.ambrazanni.it/blog/creare-una-home-page-personalizzata-in-wordpress/ [...]

  11. franzoni Says:

    Davvero molto molto utile... devo fare proprio questa cosa per il sito di un amico... e' la soluzione tanto cercata... grazie...

  12. Roberto Says:

    Grazie, era tempo che cercavo una guida così!
    Sopratutto in italiano visto che con l'inglese centro poco.... (inoltre tengo l'inter per cui puoi capire.... :( )

    Appena rientro dall'ufficio ci provo e vedo se riesco... ma a questo punto posso creare un'infinitĂ  di pagine "classiche", ad es. home, contatti, info, ecc. prima di arrivare al blog, giusto?

    Perchè è questo che devo fare

  13. Cristian Balan Says:

    Avevo trovato questo articolo tra i primi e nei prossimi giorni mi servirĂ  :)
    ...spero sia valido anche con l'ultima release di WP ovvero la 2.3.3
    Farò sapere qui il risultato. ;)

  14. mazzu83 Says:

    Grazie era proprio quello che cercavo :)
    Guida semplice e ben spiegata :)

  15. Tony Says:

    Ciao. Ho appena letto la tua guida e devo dire che sei stato molto chiaro. Ma io sinceramente volevo sapere, avendo un blog su myblog.it ed avendo installato wordpress su altervista è possibile creare una homepage con wordpress e poi trasferirla su myblog.it? Purtroppo nessuno è riuscito ad aiutarmi e te ne sarei molto grato se tu riuscissi a farlo. Vedo molti blog (anche su myblog) che sono organizzati molto bene e sinceramente anch'io vorrei farlo, ma non so come. Non voglio che si vedono sempre all'inizio i post appena scritti, ma vorrei fare in modo che tramite la homepage possano andare in qualunque post. Grazie in anticipo. Ciao.

  16. Alessandro Buzzoni Says:

    Scusa Tony se rispondo solo ora, ad ogni modo non ho esperienza in piattaforme blog grauite. Se hai WP su altervista non puoi usare direttamente quello al posto di myblog.it?
    ciao

Scrivi un commento.

C L I C C A M I