La fase finale della creazione del widget è la visualizzazione dell'output sul sito. Lo fai modificando ulteriormente il file WP_Widget
classe.
Questa è la parte finale di una serie in cinque parti che dovrai seguire per arrivare a questo punto:
Per seguire questo tutorial, avrai bisogno di:
Ci sono due parti a questo: aggiungere una funzione al di fuori del widget che identificherà la pagina degli antenati da utilizzare e modificando il widget di
funzione all'interno del WP_Widget
classe.
Questa funzione è presa direttamente dal mio precedente tutorial per creare un plugin per la navigazione della sidebar sensibile al contesto.
Sopra il tuo WP_Widget
classe, aggiungi la funzione al tuo file plugin:
post_parent) // preleva l'elenco degli antenati $ parents = array_reverse (get_post_ancestors ($ post-> ID)); // ottiene l'antenato di primo livello restituendo $ parents [0]; // restituisce l'id - questo sarà l'antenato più in alto se ce n'è uno, o la pagina corrente se non restituisce $ post-> ID; ?>
Lo utilizzerai in seguito quando definirai una query da eseguire nel widget.
Successivamente dovrai modificare il vuoto widget di
funzione creata in precedenza, nel tuo file plugin. Inizia definendo la variabile in base all'input del modulo:
widget di funzioni ($ args, $ istanza) extract ($ args); echo $ before_widget; echo $ before_title. 'In questa sezione:' . $ After_title;
Successivamente, aggiungi la tua query e il suo output, modificando la funzione in modo che legga in questo modo:
widget di funzioni ($ args, $ istanza) // kick out estratto ($ args); echo $ before_widget; echo $ before_title. 'In questa sezione:' . $ After_title; // esegue una query se in una pagina if (is_page ()) // esegue la funzione tutsplus_check_for_page_tree per recuperare la pagina di livello superiore $ ancestor = tutsplus_check_for_page_tree (); // imposta gli argomenti per i figli della pagina degli antenati $ args = array ('child_of' => $ ancestor, 'depth' => $ istanza ['depth'], 'title_li' => ",); // imposta un valore per get_pages per verificare se è vuoto $ list_pages = get_pages ($ args); // controlla se $ list_pages ha valori if ($ list_pages) // apre una lista con la pagina degli antenati in alto?>
Questo controlla se siamo su una pagina e poi definisce gli argomenti per il list_pages ()
funzione utilizzando l'output della funzione precedente e il valore di $ profondità
variabile che è impostata dalla forma del widget.
Ora salva il tuo widget e controlla il tuo sito. L'elenco dovrebbe essere visualizzato ovunque tu abbia aggiunto il widget:
Ora hai un plugin widget completo!
Per ricapitolare ciò che hai trattato in tutti e cinque i tutorial, ecco come dovrebbe apparire il codice del plugin per intero:
post_parent) // preleva l'elenco degli antenati $ parents = array_reverse (get_post_ancestors ($ post-> ID)); // ottiene l'antenato di primo livello restituendo $ parents [0]; // restituisce l'id - questo sarà l'antenato più in alto se ce n'è uno, o la pagina corrente se non restituisce $ post-> ID; ?> __ ('Identifica dove si trova la pagina corrente nella struttura del sito e visualizza un elenco di pagine nella stessa sezione del sito. Funziona solo su Pages.', 'Tutsplus'))); function form ($ instance) $ defaults = array ('depth' => '-1'); $ depth = $ instance ['depth']; // markup per il modulo?>$ ancestor, 'depth' => $ istanza ['depth'], 'title_li' => ",); // imposta un valore per get_pages per verificare se è vuoto $ lista_pagine = get_pages ($ args); // controlla se $ lista_punti ha valori se ($ lista_pagine) // apre una lista con la pagina degli antenati in alto?>
La creazione di un widget comporta alcuni passaggi. Questi sono:
costruire
funzione per costruire il tuo widgetmodulo
funzione per il modulo nella schermata Widgetaggiornare
funzione in modo che il widget possa essere aggiornato dal modulowidget di
funziona con l'uscita.Una volta che hai fatto tutto questo, avrai un widget funzionante, che potrai adattare come preferisci.