In wp i template di pagina vengono usati per definire come caricare ogni singola pagina/post del sito.
Il template base di wp per le pagine è page.php mentre quello per il singolo articolo è single.php.
Wordpress ha una gerarchia per scegliere quale pagina usare come si vede dall’immagine sotto. In particolare il discorso vale per la home, il cui file è front-page.php, e se non trovato è home.php e se non trovato è index.php e se non trovato è e deve essere un custom template definito dallo sviluppatore.
SINGLE.PHP
Questo file è il template base che verrà richiamato per definire il layout di quando si legge un singolo post (articolo)
PAGE.PHP
Questo file è il template base che verrà richiamato per definire il layout di quando si legge una qualsiasi pagina
CREAZIONE TEMPLATE DI PAGINA
Se si volesse poter visualizzare la home in larghezza 100% e le pagine interne in un contenitore centrato (ad esempio) avremmo bisogno di associare alle pagine un template di pagina diverso. Nel backend questo si imposta nelle singole pagine a destra nella sidebar.
Per avere in quell’elenco il nostro template personalizzato e per poter poi decidere come visualizzare i contenuti basta creare un file all’interno del nostro tema figlio con il nome che vogliamo (magari inerente a quello che è, ad esempio fullwidth-template.php) e all’interno scrivere come prima cosa quello che vorremo visualizzare nel backend.
<?php // Template Name: Template pagina 100% //Di seguito poi sciveremo il codice per mostrare il contenuto di quella pagina in questo modo: get_header(); //carico l’header della pagina echo "<div id='content' class='full-width'>"; // eventuale codice html che ci serve annidato come si vuole while (have_posts()): the_post(); // a questo punto possiamo fare riferimento al contenuto della pagina e a tutti gli altri elementi, quali ID ecc $post_id = get_the_ID(); $titolo_pagina = get_the_title(); $testo_pagina = get_the_content(); $url_immagine_pagina = get_the_post_thumbnail_url($size); // dove $size può essere full, medium ecc // stampiamo quindi le informazioni, generando l’html della pagina echo "<div>".$titolo."</div>"; echo "<div><img src=".$url_immagine_pagina."></div >"; echo "<div>".$testo_pagina."</div>"; endwhile; echo "</div>"; get_footer(); //carico footer della pagina ?>
Di solito alle funzioni che iniziano con get_ in wp corrisponde una seconda funzione senza get_ che stampa direttamente, ad esempio :
$testo_pagina = get_the_content(); echo "<div>".$testo_pagina."< /div>";
è uguale a
echo "<div>"; the_content(); echo "<div>";