La ragione per cui WordPress è il sistema di gestione dei contenuti più popolare al mondo è, naturalmente, la sua flessibilità. La struttura meravigliosamente semplice di "ganci" dà a WordPress questa abilità. Senza hook di filtro e hook di azione, WordPress non sarebbe estensibile tanto e non saremmo in grado di avere un così ampio spettro di plugin o temi WordPress.
In questa serie, passeremo attraverso le azioni, uno dei due tipi di hook di WordPress. Nel corso della serie, copriremo quasi tutto ciò che c'è da sapere sulle azioni:
Sarà una corsa lunga e incredibile. Allacciare!
Nel codice, le azioni sono definite come segue:
Le azioni sono innescate da eventi specifici che si svolgono in WordPress, come la pubblicazione di un post, la modifica di temi o la visualizzazione di una schermata di amministrazione. L'azione è una funzione PHP personalizzata definita nel tuo plugin (o tema) e agganciata, cioè impostato per rispondere, ad alcuni di questi eventi.
Quindi, in sostanza, le azioni sono funzioni attivate da un evento WordPress e vengono eseguite prima o dopo l'evento. Le azioni sono uno dei due tipi di "ganci" in WordPress - l'altro è chiamato "filtri", di cui abbiamo parlato qualche tempo fa - dai un'occhiata ai "Fifty Filters of WordPress" se vuoi saperne di più sui filtri WordPress.
Definire quali azioni sono è la cosa più semplice che faremo in questa serie. Fortunatamente, imparare a creare e usare le azioni è quasi altrettanto facile. Vediamo come agganciamo le funzioni alle azioni, creiamo nuove azioni, rimuoviamo quelle esistenti e altre funzioni relative alle azioni nel core di WordPress.
Probabilmente la funzione più semplice tra queste è questa: è usata per agganciare la nostra funzione al hook di azione che useremo:
Vediamo cosa significano questi parametri:
$ hook_name
è il nome del hook di azione che useremo$ function_name
è il nome della nostra funzione$ priorità
è un intero che specifichiamo per impostare il modo in cui la funzione verrà eseguita nel hook di azione$ argomenti
è il numero di argomenti che la nostra funzione utilizza e il gancio di azione consenteVediamo un esempio veloce:
Quasi troppo facile, giusto?
Abbiamo due funzioni per rimuovere le funzioni dai ganci di azione: remove_action ()
e remove_all_actions ()
. Vediamo come li usiamo:
Il remove_action ()
la funzione ha tre parametri: il nome del gancio, il nome della funzione che stiamo per rimuovere a partire dal il gancio e la priorità che è stata impostata durante l'utilizzo add_action ()
. Il remove_all_actions ()
la funzione non ha il $ function_name
parametro, poiché rimuove tutte le funzioni collegate all'azione.
Se sviluppi plugin o temi WordPress, è buona norma creare alcuni hook nel tuo codice in modo che possano farlo anche altri sviluppatori estendere il tuo plugin o tema. Per fare ciò, abbiamo di nuovo due funzioni: do_action ()
e do_action_ref_array ()
. Vediamo come funziona il primo:
Come puoi vedere, la funzione ha virtualmente un numero infinito di parametri poiché puoi definire quanti argomenti vuoi. Se è necessario mantenere gli argomenti in una matrice, è necessario utilizzare la seconda funzione:
Se hai bisogno di sapere quante volte viene chiamata un'azione, puoi usare questa comoda funzione per contare le chiamate di azione:
Come puoi vedere, l'unico parametro della funzione è il nome del hook di azione.
Immagina di sviluppare un'estensione per un famoso plug-in di WordPress e devi verificare se l'utente ha installato il plug-in o meno. (Dopo tutto, il tuo plugin non funzionerà se l'altro non è installato e attivato).
Per controllarlo, puoi usare il has_action ()
funzione per assicurarsi che l'azione del popolare plugin sia disponibile:
Proprio come il did_action ()
funzione, il has_action ()
la funzione ha solo un parametro: il nome del hook di azione.
Ora abbiamo trattato praticamente tutto sulla creazione e sull'uso delle azioni, possiamo continuare con un viaggio di cinque esempi di azioni. Esamineremo solo cinquanta di loro ma se siete curiosi, ne potete trovare altre centinaia nel nocciolo.
Spero ti piacerà questa serie tanto quanto ho fatto durante la creazione dell'intera cosa. Se pensi di poterti aiutare con i tutorial suggerendo più azioni e chiedendo altri esempi, non esitare a dirmelo e condividi i tuoi pensieri commentando di seguito. E se ti è piaciuto quello che leggi in questa serie, non dimenticare di condividere gli articoli!
Ci vediamo nel prossimo tutorial!