Template di pagina

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>";