WordPress: pagine personalizzate

Wordpress: Modello di pagina personalizzatoVorrei creare una pagina personalizzata in WordPress con qualche funzionalità in più, cioè con del codice php che "produce" contenuti. Come posso fare?  A questa domanda penso di aver trovato una possibile soluzione, senza mettere mano violentemente al codice core di WordPress.

Il principio che sfruttiamo è quello dei template, ovvero della possibilità di creare modelli di pagine a nostro piacimento, che svolgeranno il ruolo di griglia per i contenuti che andremo ad inserire tramite l’interfaccia di amministrazione "pagine".

 

Come creare un modello

La sintassi di creazione di un modello non è facile: è elementare. Il passo più semplice che possiamo compiere, come in tutti i campi di sviluppo web, è quello di copiaincollare il modello base di WordPress per le pagine, ovvero la pagina "page.php" del nostro tema. Chiamiamola ad esempio "authors.php", e non ho dato un nome a caso…

Procediamo quindi con l’assegnare un nome al nostro modello, ma soprattutto a dire a WordPress che la pagina in questione è un modello. Banale:

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

A questo punto il gioco è fatto! Non vi resta che modificare l’esposizione dei contenuti inserendo a vostro piacere quello che volete che il modello stampi a monitor.

Volete ad esempio creare una pagina con l’elenco di tutti gli autori? Perfetto io ho sostituito tutto il contenuto, compresa la parte di gestione dei commenti, e ho mantenuto solo il DIV "post-content" con all’interno:

<div class="post-content">
<?php the_content('Leggi il resto della notizia &raquo;'); ?>
    <h2>Tutti gli autori</h2>
    <!-- lista autori -->
    <ul>
        <?php $args = array(
        'optioncount'   => true,
        'exclude_admin' => true,
        'show_fullname' => true,
        'hide_empty'    => true,
        'echo'          => true); ?>
        <?php wpmrx_list_authors($args); ?>
    </ul>
</div>

 

La riga:

<?php the_content('Leggi il resto della notizia &raquo;'); ?>

Pubblica il contenuto che inserirete come una normale pagina. Il resto è una chiamata alla funzione WordPress dell’elenco degli autori con i vari parametri.

[ad name=”postintra”]

 

Come usare il modello

Per usare il modello vi basta semplicemente creare una nuova pagina e nella colonna di destra (WordPress 2.8.4) trovate un menù a tendina "template" dove sono presenti tutti i modelli che avete creato o che il vostro tema prevede.

Vi segnalo che se non ci sono modelli personalizzati presenti, quel menù non appare.

Ora non vi resta che sbizzarrirvi a creare modelli di pagine particolari, a vostro piacere.

fonte talkincode.com

Loading Facebook Comments ...

9 pensieri su “WordPress: pagine personalizzate

  1. Peter

    Interessante articolo…
    Sto cercando di farmi un layout personalizzato per far si che compaia una scheda già pronta per un utente in particolare.
    Si può fare anche per contenuti di tipo articoli (quindi dinamici) oltre che solo per pagine (statiche)?

    Rispondi
  2. Merlinox Autore articolo

    @peter al massimo prova a scardinare quello e vedere su cosa si basa. alla fine pagine e post dovrebbero essere sul medesimo db… basta indirizzarlo giusto 🙂

    Rispondi
  3. Daniela

    Ehm, io ho un piccolo problema, vorrei fare una modifica ad una pagina.
    Perdonatemi per le domande, ma sono una neofita.

    Nel pannello di admin c’è il menu a tendina “template”, con 5 scelte possibili.
    Vorrei modificarne uno, eliminando un elemento e mettendo il testo full width.
    Andando a vedere l’editor, però, l’unico template di pagina che trovo a parte page.php è solo uno dei 5 in elenco e non è quello che vorrei modificare.
    Gli altri ci sono ma solo come loop.
    Vorrei capire com’è possibile che non siano visualizzati dall’editor gli altri template di pagina ….. Come posso modificare un template di pagina che non sembra essere visibile sull’editor?

    Rispondi
    1. Merlinox Autore articolo

      Come scritto nell’articolo all’inizio un template è qualsiasi php, dentro la directory del tuo tema selezionato, che abbia come prime righe un commento con il nome del template, come qui:
      < ?php /* Template Name: Authors */ ?>

      Identificato il template, ti scarichi il file via FTP, lo modifichi e lo ripubblichi.

      Rispondi
  4. chiara

    Buondì!
    sono alle prese con il mio primo sito by WP.. sto utilizzando come tema Twenty Eleven e vorrei personalizzare le singole pagine con un’immagine di testata diversa per ognuna, ma che non venga assegnata in modo casuale e in loop.
    Come posso fare?
    HELP ME PLEASE!

    Rispondi
    1. Merlinox Autore articolo

      Ciao Chiara. Devi personalizzare il template dell’header facendo in modo che cambi immagine in base ad un parametro. Lo puoi fare usando il nome della pagina, l’id della pagina (e quindi gestiresti la scelta dell’immagine lato codice) oppure puoi leggere un “custom field” e da template pubblicare l’immagine indicata in quel campo (con un path completo o costruito).

      http://codex.wordpress.org/Custom_Fields

      Rispondi

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *