Membro di PiperitaLab
Home » Cms e developing » Wordpress » Creare un template diverso per ogni pagina di wp

Creare un template diverso per ogni pagina di wp

Scritto da il 27 agosto 2008 in Wordpress - 49 Commenti - 169 visite

wordpress logo 300x267 Creare un template diverso per ogni pagina di wpMolti di voi già lo sapranno, altri no. Con wordpress è possibile creare un sito, per ipotesi, che abbia ogni pagina diversa dall’altra come grafica e layout.

Già sappiamo come si possa semplicemente cambiare template per le singole categorie creando appositi files che siano nominati come category-6.php ad esempio, per la categoria che abbia ID n.6, e così via.

Per le pagine la cosa è leggermente diversa ma non per questo difficile.

Innanzitutto dovremo creare la nostra pagina di template, che non necessariamente deve contenere il loop di wordpress, ma solo quello di cui abbiamo bisogno.

Inseriamo nelle prime righe della pagina, che potremo nominare come crediamo (esempio: laura.php) le seguenti righe di codice:

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

Caricate la pagina nella cartella del vostro template in uso.

Andiamo poi a creare una pagina vuota tramite il nostro pannello di controllo: Scrivi > Pagina, intitoliamola come crediamo, purchè il permalink sia in questo caso: “laura”. Poco più in basso noterete un’opzione: Template pagina. Potrete selezionare il template “laura” precedentemente caricato, cliccate su pubblica ed il gioco è fatto!

E’ lo stesso strumento che ho usato nel nuovo template per creare le pagine di ricerca per tags e per autori creando due pagine di templates diverse dove in ognuna ho inserito i tag di wordpress necessari a richiamare la tag cloud e l’elenco degli autori. Semplice no? ^^

Libri da non perdere:
Amazon-Box creato da Giuseppe Frattura

L'Autore

Laura Gargiulo, webdesigner freelance. Web architect senior, esperta xhtml, css, usabilità, design, cms, webmarketing e Seo, Wordpress specialist. Membro del progetto di prossima pubblicazione Piperita Lab e dell'IWA Italy Visita il mio sito personale Lauryn.it e contattami pure per un preventivo gratuito.

homeSito personale|archiveArchivio autore

49 Commenti

  1. cirio (79 comments)
    Scritto il 30 agosto 2008 alle 22:09

    good;) ho utilizzato anchio questo metodo per creare una pagina che mi permettesse di richiamre una lista di link attraverso le funzioni di wp.

  2. Marco (427 comments)
    Scritto il 31 gennaio 2009 alle 08:46

    Io uso wordpress 2.7 e ho cercato di eseguire questa procedure che descrivete… ma non vedo alcun “Permalink” ne la possibilità di selezionare il template della pagina entrando in Scrivi->Pagina…
    Come mai ? Devo attivare qualcosa ??

  3. Lauryn (4197 comments)
    Scritto il 31 gennaio 2009 alle 10:43

    devi creare prima la pagina di template, e caricarla nel tema: l’hai fatto?

  4. Gaetano (3 comments)
    Scritto il 13 giugno 2009 alle 21:54

    ops ho dimenticato di cliccare su “invia risposte via mail” pardon…

  5. Gaetano (3 comments)
    Scritto il 13 giugno 2009 alle 21:57

    Sul mio sito (www.valdagri.net) sono riuscito ad eliminare la sidebar nella pagina meteo, ma quando scrivo l’articolo l’impaginazione rimane come legata alle sidebar. Come devo fare? HELP!!!

  6. Lauryn (4197 comments)
    Scritto il 14 giugno 2009 alle 08:56

    @gaetano: modificare il template di quella pagina, ma dalla domanda temo che tu non sia un webdesigner vero? pertanto ti consiglio di cercarne uno e aiutarti in tal senso :)

  7. vale (7 comments)
    Scritto il 2 luglio 2009 alle 14:51

    Per un sito mi serve avere uno sfondo diverso per ogni pagina. Sono riuscita a creare la nuova ma non a modificarne lo sfondo. Come posso fare?

  8. Lauryn (4197 comments)
    Scritto il 2 luglio 2009 alle 15:01

    devi modificare la pagina del template che hai creato e che userai appositamente per quella pagina, come segnalato nell’articolo :)

  9. vale (7 comments)
    Scritto il 2 luglio 2009 alle 15:10

    Si, fin li ci sono ma non capisco come.
    Ho provato a dare lo stile della pagina ma mi prende solo quello del css principale. Mi manca fisicamente come dirgli in questa pagina che io ho creato fammi lo sfondo ad esempio verde.

  10. Lauryn (4197 comments)
    Scritto il 2 luglio 2009 alle 15:43

    @vale: aggiungi un id al tag body, ad esempio:
    body id=”verde” e poi definisci lo sfondo nel css

  11. vale (7 comments)
    Scritto il 2 luglio 2009 alle 15:49

    scusami ma di php me ne intendo poco, nella mia pagina il tag body lo inserisco all’inizio della pagina?

  12. Lauryn (4197 comments)
    Scritto il 2 luglio 2009 alle 16:00

    non è php vale, è semplice html, credo tu debba fare un ripasso prima di accingerti a fare una cosa del genere allora eheh

  13. vale (7 comments)
    Scritto il 2 luglio 2009 alle 16:15

    certo, il body sicuramente ma il resto della pagina no.

  14. Lauryn (4197 comments)
    Scritto il 2 luglio 2009 alle 19:58

    non ho capito. spostiamoci sul forum per le domande così non andiamo offtopic ;)

  15. calcas2 (1 comments)
    Scritto il 20 luglio 2009 alle 17:29

    ciao scusa ma inserire un template nuovo ad ogni pagina mi consente anche di poter abilitare nella pagina con il nuovo template anche la possbilità di scrivere messaggi di commento a quella pagina? e se la risposta è negativa come devo fare per fare in modo che ci siano i commenti anche nelle pagine diverse dalla homepage? grazie mille!

  16. Lauryn (4197 comments)
    Scritto il 20 luglio 2009 alle 17:56

    mi fai venire il dubbio, nel senso che non so se le pagine in confronto agli “articoli” siano commentabili…prova e facci sapere :)

  17. Silvana (3 comments)
    Scritto il 4 novembre 2009 alle 11:55

    grazie, in poche parole hai descritto perfettamente quello che serve, una domanda io ho duplicato il file page.php e l’ho chiamato home.php e funziona tutto alla perfezione dopo poche modifiche, vorrei togliere il codice che richiama l’header ma così facendo mi sparisce tutto il tema e vedo i contenuti su pag bianca sapresti dirmi cosa sbaglio?
    grazie

  18. Lauryn (4197 comments)
    Scritto il 4 novembre 2009 alle 12:04

    @silvana: sbagli che l’header non lo devi cancellare mai :D

  19. Silvana (3 comments)
    Scritto il 4 novembre 2009 alle 14:10

    già,:-) e se copio il codice della header nel template, meno la parte che non voglio?
    dovrebbe funzionare!! grazie

  20. Giugiu (2 comments)
    Scritto il 21 aprile 2010 alle 11:42

    Ho seguito l’articolo, tutto perfetto.
    Ho solo un problema: la pagina (con funzione php all’interno) che ho creato contiene dei link e dei menu a tendina che richiamano delle altre funzioni, ma non appena ci clicco su vengo reindirizzato all’homepage del sito.
    Cosa sbaglio?

  21. Lauryn (4197 comments)
    Scritto il 21 aprile 2010 alle 15:09

    ci mostri la pagina in questione?

  22. Giugiu (2 comments)
    Scritto il 21 aprile 2010 alle 15:36

    certamente.
    La pagina (implementata nel sito tramite template)è questa:
    http://www.mobilitapalermo.org/mobpa/carpnlg/
    se provi a cliccare su offerta, oppure nel menu a tendina, verrai reindirizzata all’homepage del sito.

    mentre questa è la semplice pagina php funzionante:
    http://www.mobilitapalermo.org/passaggio_it_partner_include_v1.php

  23. rouge (5 comments)
    Scritto il 24 aprile 2010 alle 15:02

    ciao, io ho provato a fare come hai detto tu e nel pannello di amministrazione mi fa scegliere tra il template standard e il “laura” solo che il laura è una pagina con solo le righe di codice che ho copiato dal tuo post e non un template vero e proprio… come faccio a fargli scegliere due o più template?
    ciao e scusa il disturbo e grazie per la risposta…
    rouge

  24. Lauryn (4197 comments)
    Scritto il 24 aprile 2010 alle 15:33

    @rouge: ovviamente quelle due righe di codice devono PRECEDERE tutto il contenuto che avrebbe una pagina normale (page.php) e modificare la grafica dove serve a te.

  25. rouge (5 comments)
    Scritto il 24 aprile 2010 alle 16:40

    ma allora scusa un secondo mi puoi spiegare bene un attimo come fare per piacere?
    se io ho un tema a colori rossi a senza barra laterale diciamo tema 1 e un tema a colori blu e con barra laterale diciamo tema 2 io come faccio ad avere il tema 1 in tutto il sito tranne in un poche di pagine dove voglio il tema 2?
    i miei due temi sono in due sottocartelle themes una chiamata tema 1 con page.php css index.php etc e l’altra è sempre in una sottocartella di themes chiamata tema 2 con page.php css index.php etc. le righe di codice che indichi nel post dove le inserisco? in page.php di quale cartella? come faccio?
    scusa il disturb o e grazie per la pazienza
    ROuge

  26. Lauryn (4197 comments)
    Scritto il 24 aprile 2010 alle 17:30

    caro rouge, hai toppato eheh non è quello di cui stiamo parlando. non puoi certo prendere una pagina da un template e una da un altro a meno che non ti copi tutto html e css da capo nella pagina nuova ;)
    non è quello che vorresti far tu, sei fuori strada ;)

  27. rouge (5 comments)
    Scritto il 24 aprile 2010 alle 21:39

    orca… ma come faccio ad avere un template diverso per pagina o una pagina con un template diverso?
    esiste un modo?

  28. rouge (5 comments)
    Scritto il 24 aprile 2010 alle 21:41

    o anche come faccio a fare in modo corretto quello che hai spiegato tu nel post? perchè alla fine proprio se non posso avere temi differenti per pagina mi basterebbe (accontentandosi al massimo) avere la home senza sidebar…

  29. Lauryn (4197 comments)
    Scritto il 25 aprile 2010 alle 09:48

    rouge dalle domande che fai mi sembra di capire che non sei nè webdesigner nè sviluppatore. qui si parla di tecniche avanzate per customizzare i template di WordPress, non posso spiegarti da zero come farlo ;)

  30. rouge (5 comments)
    Scritto il 25 aprile 2010 alle 18:07

    dicoamo che un poco me la cavo ma ho bisogno di qualche imboccata… se tu potessi…

  31. Lauryn (4197 comments)
    Scritto il 25 aprile 2010 alle 18:11

    seguici, nei prossimi giorni sarà pubblicata la prima puntata della guida per creare template con WordPress ;)

  32. Fabio (35 comments)
    Scritto il 5 giugno 2010 alle 17:10

    ciao, io ho un problema … non posso cambiare i permalink ho bisogno di lasciare il numero ID della pagina perchè alcuni plugin che ho richiedono l’inserimento di codice in pagine create ad hoc e consentono di indicare il numero ID pagina con valore solo numerico e non anche, ad esempio, il titolo.
    Non è possibile, ad esmpio, indicare nel codice della pagina template qualcosa tipo:

    ????
    Ad esempio … ? Come posso risolvere ?
    Grazie 1000

  33. scaso (5 comments)
    Scritto il 10 agosto 2010 alle 00:58

    Ciao, come ti si diceva sembri molto fuoristrada, ma capisco cosa significhi partire da un’idea seppur sbagliata, ma fissarsi a voler procedere così.

    Allora puoi procedere così,
    copia il file page.php dal tema secondario sul tema attualmente in uso, assicurati però prima di avergli cambiato nome, di solito io nomino i miei template page-(utilizzo).php.. ad esempio page-catalogo.php page-contatti.php

    Apri il file e inserisci l’intestazione come da articolo affinchè il template abbia un suo nome.
    Ora il template è pronto ad essere richiamato all’interno di una pagina…

    Però noterai ora che i fogli di stile richiesti non vengono caricati o vengono caricati non rispettando lo stile del secondo tema.

    Allora dentro il file page-(utilizzo).php modifica tutte le classi e gli id css assegnati aggiungendo un numero 2 alla fine..

    Farai la stessa cosa sul foglio di stile del tema 2.. e lo copierai e incollerai a seguito del foglio di stile del primo tema…

    Hai fatto un macello per avere la pagina d un tema dentro un sito di un altro tema… non è affatto consigliato o sensato..

    però spero sarai felice!!

    Mauhauha

    NB la testata e la sidebar caricata saranno cmq quelle del primo tema…. se vuoi sapere come caricare sidebar e header diversi… bobò.. passa a casa con pasticcini e caffè e iniziamo.

  34. simona (22 comments)
    Scritto il 31 agosto 2010 alle 17:02

    Ciao!
    Grazie della dritta
    ma a me questo procedimento funziona solo per la pagina che visualizza tutti i post di quella categoria, e non per i singoli post appartenenti alla categoria.
    Io vorrei esattamente l’inverso: un template (uguale alla index) per i risultati della ricerca(di qualunque categoria), e un template per i post della categoria.
    Si può fare?

    mercy!!!

    Simona

  35. Lauryn (4197 comments)
    Scritto il 31 agosto 2010 alle 17:56

    basta usare search.php per i primi e category.php per i secondi. sono file che fanno parte di un template base e li puoi differenziare come vuoi :)

  36. simona (22 comments)
    Scritto il 31 agosto 2010 alle 18:05

    ma non mi funziona :-(

    ho sbagliato a dire, non ricerca, il file search c’è già.
    Se faccio un file category-14.php o category-video.php questo viene usato da WP solo per visualizzarmi la pagina elenco di tutti post di categoria, ma se io clicco su ogni singolo post la pagina che viene usata per visualizzare il post è la index.php o cmq non quella specifica della categoria a cui appartiene il post.
    E’ normale?

    thanks

  37. Lauryn (4197 comments)
    Scritto il 31 agosto 2010 alle 18:30

    per il singolo post c’è single.php, ma non c’è modo di differenziare la visualizzazione del post a seconda della categoria in cui risiede, se non agendo a livello di codice.

  38. simona (22 comments)
    Scritto il 31 agosto 2010 alle 18:32

    ok grazie…
    ciao!

  39. scaso (5 comments)
    Scritto il 1 settembre 2010 alle 17:13

    mannaggia me e all’altriusmo ^_^
    mo due minuti ti copio due righe di codice semplice semplice per creare un if prima del loop dove indicherai che, se la categoria dell’articolo è “pippo” allora il layout comprenderà “quanto segue” potrebbe essere un semplice orpello o un layout più complesso a te l’elaborazione che segue.

    Spero che risolverai .. puoi creare diverse varaibili per diverse categorie.. sia indicando l’id oppure indicando il nome di categoria.

    Ciao.

  40. scaso (5 comments)
    Scritto il 1 settembre 2010 alle 17:15

    Non mi ha fatto pubblicare il codice.. uffi uffi come fare?
    [code]


    [/code]

  41. simona (22 comments)
    Scritto il 4 settembre 2010 alle 16:30

    grazie scaso sei stato comunque utile…

    Però ora ho un altro problema… Quando creo una nuova pagina (pagina non post) non mi fa scegliere il Template… non vedo la finestra o la tendina che dovrebbe farmelo scegliere…
    Perchèèèèè?????

    Dio santo ci fosse mai una volta che qualcosa è semplice!!!!!!!! >:-|

  42. scaso (5 comments)
    Scritto il 5 settembre 2010 alle 10:52

    Allur, il codice te l’ho inviato sul form contatti del tuo sito,
    lo inserisci “non in un template di pagina”
    ma puoi metterlo in
    single.php oppure in archive.php*…
    _Single, quando apri un post legge l’if,
    se il post appartiene a quella categoria allora si comporta come indicato,
    altrimenti prosegue normalmente senza diversificazioni.
    _Archive invece se clicchi su una categoria estraendone quindi l’archivio, se la categoria corrisponde a quella indicata allora verrà letta la personalizzazione.
    *Da preferire la reazione di un file category-(id).php, sopratutto se la personalizzazione è significativa.
    Realizza un file dove o usi l’id o usi il nome della categoria da personalizzare.

    Ti faccio notare che parliamo di post non di pagine!!!
    Se vuoi agire sui tempalte delle pagine devi duplicare il file page.php e intestarlo come template,
    poi personalizzi il codice a tuo piacimento.

    Se hai un corretto file template le correzzioni sui file single.php e archive.php non dovrebbero interferire!

    (Io spero sempre di esserti stato utile perchè quando mi inguaio io spero sempre nel salvatore ma non ho mai la pazienza di chiedere e magari aspetare risposta, cerco sempre di risolvere sbattendomi..
    ho più pazienza per fornire aiuto)
    ^_^

  43. simona (22 comments)
    Scritto il 5 settembre 2010 alle 13:18

    scaso io ti ringrazio infinitamente, però la mail nn è arrivata! :-(
    ho riprovato e il form funziona…
    prova a rimandarmelo,

    grazie mille!!!
    poi ti faccio sapere!!!
    grazie!!!!!!!

    ;-)

  44. Stefano (32 comments)
    Scritto il 1 ottobre 2010 alle 16:20

    Ciao a tutti…
    ho provato a seguiore la VS guida, ecco cosa ho fatto:
    ho modificato la pagina page aggiungendo il seguente codice:

    ho povato a cercare tutte le classi e gli id css, ma senza nessun risulato:

    <a href="” rel=”bookmark” title=”">

    <?php if($thumb ” && get_option(‘studioblue_page_thumbnails’) == ‘on’) { ?>

    ‘.__(‘Pages’,'StudioBlue’).’: ‘, ‘after’ => ”, ‘next_or_number’ => ‘number’)); ?>


    Infine ho fatto altre ricerche dentro il file marcato .css ma nessuno mandava un collegato ai tipi di file (style-brown.css) i quali determinano il colore.

    Potete per favore aiutarmi che sto diventando pazzo?!

    Grazie

  45. Lauryn (4197 comments)
    Scritto il 1 ottobre 2010 alle 16:22

    scrivi sul forum :)

  46. Stefano (32 comments)
    Scritto il 1 ottobre 2010 alle 16:24

    Forum quale?! :p

  47. Lauryn (4197 comments)
    Scritto il 1 ottobre 2010 alle 16:34
  48. giusy (1 comments)
    Scritto il 25 febbraio 2011 alle 15:54

    Grazie per questo preziosissimo articoli. Erano giorni che cercavo come fare questa cosa ma nessuno sapeva darmi risposta.

  49. Nicola Giosmin (1 comments)
    Scritto il 26 febbraio 2011 alle 11:52

    Eccellente, grazie.

Scrivi un commento!

© 2012 Italian webdesign. Diritti riservati. Ideato da Laura Gargiulo - Icone di Komodo Media - Logo di W3B.