Creare un template diverso per ogni pagina di wp

Molti 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? ^^


54 Comments

  • cirio

    30 agosto 2008

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

    Reply
  • Marco

    31 gennaio 2009

    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 ??

    Reply
  • Lauryn

    31 gennaio 2009

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

    Reply
  • Gaetano

    13 giugno 2009

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

    Reply
  • Gaetano

    13 giugno 2009

    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!!!

    Reply
  • Lauryn

    14 giugno 2009

    @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 🙂

    Reply
  • vale

    2 luglio 2009

    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?

    Reply
  • Lauryn

    2 luglio 2009

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

    Reply
  • vale

    2 luglio 2009

    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.

    Reply
  • Lauryn

    2 luglio 2009

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

    Reply
  • vale

    2 luglio 2009

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

    Reply
  • Lauryn

    2 luglio 2009

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

    Reply
  • vale

    2 luglio 2009

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

    Reply
  • Lauryn

    2 luglio 2009

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

    Reply
  • calcas2

    20 luglio 2009

    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!

    Reply
  • Lauryn

    20 luglio 2009

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

    Reply
  • Silvana

    4 novembre 2009

    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

    Reply
  • Lauryn

    4 novembre 2009

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

    Reply
  • Silvana

    4 novembre 2009

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

    Reply
  • Giugiu

    21 aprile 2010

    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?

    Reply
    • Lauryn

      21 aprile 2010

      ci mostri la pagina in questione?

      Reply
  • Giugiu

    21 aprile 2010

    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

    Reply
  • rouge

    24 aprile 2010

    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

    Reply
  • Lauryn

    24 aprile 2010

    @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.

    Reply
  • rouge

    24 aprile 2010

    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

    Reply
    • scaso

      10 agosto 2010

      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.

      Reply
  • Lauryn

    24 aprile 2010

    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 😉

    Reply
  • rouge

    24 aprile 2010

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

    Reply
  • rouge

    24 aprile 2010

    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…

    Reply
    • Lauryn

      25 aprile 2010

      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 😉

      Reply
  • rouge

    25 aprile 2010

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

    Reply
  • Lauryn

    25 aprile 2010

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

    Reply
  • Fabio

    5 giugno 2010

    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

    Reply
  • simona

    31 agosto 2010

    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

    Reply
    • Lauryn

      31 agosto 2010

      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 🙂

      Reply
    • simona

      31 agosto 2010

      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

      Reply
    • Lauryn

      31 agosto 2010

      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.

      Reply
    • simona

      31 agosto 2010

      ok grazie…
      ciao!

      Reply
    • scaso

      1 settembre 2010

      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.

      Reply
    • scaso

      1 settembre 2010

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


      [/code]

      Reply
    • simona

      4 settembre 2010

      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!!!!!!!! >:-|

      Reply
    • scaso

      5 settembre 2010

      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)
      ^_^

      Reply
    • simona

      5 settembre 2010

      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!!!!!!!

      😉

      Reply
  • Stefano

    1 ottobre 2010

    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

    Reply
    • Lauryn

      1 ottobre 2010

      scrivi sul forum 🙂

      Reply
  • Stefano

    1 ottobre 2010

    Forum quale?! :p

    Reply
  • giusy

    25 febbraio 2011

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

    Reply
  • Nicola Giosmin

    26 febbraio 2011

    Eccellente, grazie.

    Reply
  • ester

    6 novembre 2012

    salve ho seguito le istruzioni, nella mia pagina php dovrei inserire una immagine di sfondo.. il codice che ho scritto è questo

    mi dice pero che c’è un errore nella linea 3… a questo punto mi chiedo.. l’url dell’immagine che devo inserire quale è? deve trovarsi nei media inseriti in wp? o dove?

    grazie
    ester

    Reply
  • ester

    6 novembre 2012

    p.s scusate non mi ha caricato il codice

    1

    Reply
  • Ivano

    13 ottobre 2013

    Cercavo proprio questo, ma non capisco una cosa.
    Ho creato una nuova pagina .php e all’interno homesso le due righe di questo articolo più il contenuto della page.php del mio tema. Ora io vorrei dare uno sfondo colorato a questo tipo di pagina (che ho chiamato pagina colorata). Il permalink è impostato come hai detto e la pagina si apre.
    Cosa devo fare? Devo inserire il tag body dove? se lo metto nel contenuto della pagina nel visuale non succede niente, dovrei fare un richiamo a l css? e il foglio di stile style.css devo modificare anche quello e inche modo, oppure devo crearne un altro?
    Ti ringrazio…

    Reply
  • Ivano

    13 ottobre 2013

    p.s. ma il forum non c’è?

    Reply
  • Lauryn

    14 ottobre 2013

    ciao ivano, sì, eccolo http://www.facebook.com/groups/italianwebdesign/
    cmnq se sfrutti le novità di wordpress dalla 2.5 noterai che vicino al body genera una classe a seconda se tu sia in homepage etc. e lo puoi usare nel css per cambiare i colori che vuoi.

    Reply

Lasciaci un tuo commento!

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.