Stai sviluppando un tema e non vuoi più riscrivere ogni volta le stesso codice?
Vuoi migliorare il tuo modo di lavorare ottimizzando il tempo e il codice scritto?
Utilizzare get_template_part() potrebbe essere la risposta.
Introduzione
quando lavoriamo sul codice è molto importante organizzare bene le varie sezioni che comporranno tutto il sito e, su progetti complessi, questa cosa è ancora più importante per evitare di trovarci a riscrivere sempre lo stesso codice che riutilizzeremo in varie parti.
Ecco che ci viene in aiuto la funzione wordpress get_template_part().
Capire il get_template _part()
Essenzialmente la funzione get_template_part è un richiamo alla funzione include o require di PHP ma con alcune differenze:
- get_template_part già conosce il percorso al file che stiamo richiedendo
- in caso di file non esistenze non visualizzerà a video errori di php
- cercherà il file nel tema child o nel tema parent
per spiegare il suo utilizzo in poche parole, anche se il nome della funzione è molto esplicativo, allora possiamo dire che get_template_part ci dà la possibilità di creare piccole parti di template da riutilizzare nel nostro tema.
Utilizzo
ora vediamo come possiamo utilizzare get_template_part().
Esempio 1: visualizzare autore del post.
<div class="author"> <a href="<?php the_author_link(); ?>" class="author"> <?php echo get_avatar( get_the_author_meta( 'ID' ), 32 ); ?> <?php the_author(); ?> <p><?php the_author_meta( $description); ?></p> </a> </div>
se nel tema vogliamo visualizzare l’autore del post di un articolo (come esempio sopra) e questo blocco ci servirà sia nel post singolo, sia nella ricerca che nell’elenco dei post per categoria, essendo queste pagine differenti, quello che dobbiamo fare è creare per ogni pagina un blocco come quello nell’esempio.
E in caso di modifica di una parte di quel codice? (lasciamo a voi la risposta)
Allora creiamo nel tema una pagina autore.php, mettiamoci il codice e nei vari file inseriamo il richiamo a questo file in questo modo
get_template_part('autore');
In questo modo wordpress includerà il file autore.php senza che noi gli abbiamo detto dove era posizionato questo file tanto lui già lo sà.
Possiamo anche crearne di più complesse cioè, questa pagina autore ha una testata, un contenuto e un footer e vogliamo dividerli in file differenti, quindi avremo
- autore-header.php
- autore-content.php
- autore-footer.php
e ogni singola pagina ha il suo contenuto, per includerlo faremo:
get_template_part('autore','header'); get_template_part('autore','content'); get_template_part('autore','footer');
ecco che wordpress includerà i 3 file creati e noi potremo riutilizzare il codice nelle varie sezioni del tema.
Questa funzione è ancora più potente quando utilizzata nei temi Child.
riprendendo come esempio il codice di prima ed utilizzando get_template_part(‘autore’), wordpress seguirà questa logica di ricerca:
Cerco il file autore.php nel tema child se lo trovo lo includo altrimenti lo cerco nel tema parent
Quindi, se abbiamo necessità di modificare il codice basta ricreare lo stesso file nel tema child e worpdress come sempre penserà all’inclusione di questo e non più di quello del tema parent.
Utilizzo avanzato
possiamo utilizzare la funzione get_template_part in un modo ancora più avanzato passando come parametri alcune variabili di wordpress ad esempio:
get_template_part( 'autore', get_post_type() );
la variabile get_post_type() ritorna il tipo di post visualizzato quindi possiamo personalizzare la pagina autore in base al post type utilizzato.
Le pagine da creare saranno quindi
autore-post.php autore-page.php autore-mio-custom-post-type.php
Conclusione
e questo è tutto. Ora non vi resta che organizzare i vostri contenuti e abusare di questa fantastica funzione.
Domande su get_template_part? Lasciateci un commento e avremo piacere di rispondere.
DETTAGLI
Livello: medio
Compatibilità: testato su WP versione 3.9.1