Passare le variabili a un modello WordPress in modo efficiente
Una sfida affrontata dagli sviluppatori di temi o plugin che utilizzano get_template_part
è l’impossibilità di passare variabili al modello WordPress caricato. Esiste, tuttavia, un’alternativa utilizzando locate_template
.
Panoramica
In questo esempio visualizzeremo tre voci Easy Digital Download . Uso EDD da un po ‘di tempo e sebbene abbia molte funzionalità, è ancora sorprendentemente leggero.
Recupereremo le voci e le salveremo nella variabile $edd_download
. Quindi caricheremo il template di WordPress passando la variabile. In realtà, passare la variabile è dire troppo: caricheremo semplicemente il modello in modo che la $edd_download
variabile abbia lo scopo appropriato per essere utilizzata nel modello caricato.
Caricamento di un modello WordPress
Questo codice può essere inserito in una funzione. Puoi quindi collegare quella funzione a un’area del tuo tema usando un action hook o semplicemente chiamare la funzione come tag modello. Nei miei temi, utilizzo gli hook in modo che gli utenti possano aggiungere o rimuovere contenuti in seguito. Questo è tutto ciò di cui abbiamo bisogno per il codice:
Codice modello
Ora abbiamo bisogno del file modello di WordPress. Se noti la chiamata sopra, locate_template
si aspetta di trovare il file download-home.php
nella directory parts
all’interno della cartella del tema.
Dobbiamo sempre ricordarci di chiamare wp_reset_postdata()
dopo un ciclo foreach se abbiamo chiamato setup_postdata()
.
Parole di chiusura
Quindi, dopo tutto questo, perché è utile? perché gli utenti possono creare un modello in un tema figlio e sovrascrivere facilmente il modello originale. Si tratta di semplificare la vita ai tuoi utenti. Certo, questo può essere ottenuto anche attraverso filtri o creando funzioni collegabili, ma alcuni utenti potrebbero considerare la modifica di un modello incentrato su un’attività un approccio più pulito rispetto alla gestione di un file con molte funzioni per diverse attività diverse e non correlate.