get_template_part()

Contenuti Extra

Descrizione

Questa funzione ci permette di caricare differenti parti all’interno di un template, un pò come quando carichiamo le varie sezioni attraverso le funzioni get_header(), get_sidebar() e get_footer(). Grazie a questa funzione sarà molto semplice riutilizzare porzioni di codice all’interno del proprio template e sarà ancora più semplice sostituire queste porzioni all’interno di un Child Theme.

Con questa funzione saremo in grado di includere dei file PHP costruendo il suo nome passando dei parametri all’interno di questa funzione.

Uso

Parametri

La funzione accetta due parametri stringa che ci permetteranno di costruire il nome file che desideriamo caricare come parte del template:

  • $slug – questo parametro è obbligatorio e ci permette di inserire l’abbreviazione, lo slug, che indica la radice del nome file. Se assente la funzione get_template_part() non andrà a caricare alcun file;
  • $name – parametro opzionale che ci permette di creare un nome specifico per identificare meglio il nome file che vogliamo andare a caricare.

Esempi

L’utilizzo principale che faccio di questa funzione proprio all’interno di questo sito è la possibilità di caricare differenti parti del template a seconda del formato del mio articolo. Come tutti dovremmo sapere WordPress ci offre molti Post Format che aspettano soltanto di essere attivati; su WordPress AndMore ho attivato i formati per il video e per i link.

Siccome desidero avere delle strutture differenti a seconda del formato del mio articolo all’interno del mio tema sono andato a creare tre diversi file:

  • content.php – questo file ha al suo interno la struttura che ho deciso di impostare per un articolo standard;
  • content-link.php –questo è il file che verrà caricato quando WordPress genera un articolo che ha un formato link, all’interno di WP AndMore viene usato soltanto in homepage e si differenzia dagli altri articoli perché genera un articolo di questo genere:

    L'immagine mostra un esempio per i Post Format Link

    Ecco un link nella nostra home!

  • content-video.php – il formato video viene invece utilizzato per mostrare gli articoli Pillola, come questo, dove voglio dare una maggior rilevanza al video contenuto nell’articolo piuttosto che al testo.

Per poter utilizzare questa funzione all’interno del mio tema io ho aggiunto la funzione get_template_part() all’interno del Loop presente nel file index.php:

Senza andare a perdere troppo tempo nella realizzazione di strutture if-else o switch, ho preferito utilizzare direttamente la funzione get_post_format() che mi restituisce il nome del formato dell’articolo. Conoscendo i formati che ho attivi all’interno del mio tema sono stato in grado di creare i file che ho descritto precedentemente.

Ma cosa succederebbe se WordPress trova un Post Format per il quale non ho specificato alcun file?

Ad esempio potrei desiderare di attivare il formato status; in questo caso il sistema cercherà di caricare il file content-status.php ma, non trovandolo, la funzione get_template_part() andrà a caricare il file più generico content.php senza andare ad interrompere il caricamento della pagina o distruggere il mio layout.

Lascia il tuo Pensiero