Cosa sono gli hook di WordPress? In che modo le azioni e i filtri aiutano ad estendere la funzionalità?
Pubblicato: 2018-06-13
Ultimo aggiornamento - 9 ottobre 2020
Se hai mai lavorato su WordPress, devi esserti imbattuto nella parola " Hook " molte volte. Se sei uno sviluppatore di WordPress che desidera creare plugin e temi, gli hook di WordPress sono fondamentali per il tuo sviluppo.
Ma cosa sono esattamente gli Hook?
Secondo il codice di WordPress.org, “ Gli hook sono forniti da WordPress per consentire al tuo plugin di 'agganciarsi' al resto di WordPress; vale a dire, per chiamare le funzioni nel tuo plug-in in momenti specifici e quindi mettere in moto il tuo plug-in.
Gli hook in termini generali collegano una cosa con un'altra. Nella terminologia di WordPress, aggancia (connette) il codice definito dall'utente con il codice esistente del core di WordPress.
Mettiamola in chiaro.
WordPress è costruito con alcune funzionalità predefinite. Ha un comportamento predefinito e valori ad esso associati. Con gli hook, puoi modificare questi comportamenti predefiniti e sostituire il valore esistente, personalizzando così l'ambiente WordPress secondo le tue esigenze.
Tipi di ganci
Esistono due tipi di Hook:
- Hook di azione : utilizzato per l'esecuzione a un certo punto dell'esecuzione, modificando il flusso di esecuzione predefinito. Ecco un elenco di hook di azioni di WordPress.
- Filter Hook : leggermente diversi dagli Action hook, i Filter hook vengono utilizzati per modificare i dati predefiniti di WordPress e sostituirli con un valore personalizzato, prima che vengano mostrati all'utente nel front-end o archiviati nel database. Un elenco di filtri hook può essere trovato nel codice di WordPress.
Fondamentalmente, gli hook sono funzioni predefinite in sé. Quindi i due tipi di funzioni associate agli hook sono:
- Funzioni di azione : queste funzioni sono utili negli eventi quando viene pubblicato un blog, il caricamento di una pagina e così via.
Di seguito sono elencate alcune delle funzioni di azione:- aggiungi_azione()
- fatto_azione()
- fare_azione()
- fare_azione()
- do_action_ref_array()
- ha_azione()
- rimuovere_azione()
- rimuovere_tutte_le azioni()
- Funzioni di filtro : ogni funzione di filtro restituisce un valore e lo sostituisce con i dati predefiniti di WordPress.
Le funzioni di filtro includono quanto segue:- aggiungi_filtro()
- applicare_filtri()
- applica_filtri_ref_array()
- filtro_corrente()
- fare_filtro()
- ha_filtro()
- rimuovi_tutti_filtri()
- rimuovere_filtro()
Un'infografica
Osserva la seguente infografica per una migliore comprensione di come funzionano gli hook.

Come mostrato nell'infografica sopra, le funzioni Action e Filter utilizzano rispettivi hook per modificare il codice principale di WordPress.
Come appare un gancio?
Un tipico hook Action assume la forma seguente:
add_action( 'hook', 'your_custom_function_name', [priority], [accepted_parameters]); funzione la tua_funzione_personalizzata_nome() { //Il tuo codice personalizzato }
Dove hook è il nome dell'hook, your_custom_function_name è il nome della funzione con il tuo codice personalizzato, parametro di priorità opzionale che indica come deve essere eseguito l'hook, parametri accettati che indicano i parametri aggiuntivi e il codice personalizzato. Il la chiamata di funzione ( add_action()) può trovarsi al di sotto o al di sopra del frammento di codice.
Un hook Filter ha la forma seguente:
add_filter( 'filtro', 'nome_funzione_personalizzata', 'priorità', 'args_accettati'); funzione tuo_nome_funzione_personalizzata($variabile) { //Il tuo codice personalizzato Restituzione; }
Dove add_filter() è uno delle funzioni di hook del filtro, filter è il nome del filtro che intendi utilizzare, your_custom_function_name è il nome della tua funzione definita dall'utente, il parametro priority indica l'ordine di esecuzione dell'hook, args_accettati indica gli argomenti da passare e il parametro custom codice con il valore di ritorno obbligatorio.

Proprio come WordPress, sono disponibili hook anche per WooCommerce. Questi hook sono ampiamente utilizzati per sviluppare plugin, temi e personalizzare il processo di WooCommerce Checkout.
Leggi WooCommerce Hook: azioni e filtri nella documentazione di WooCommerce per comprendere in dettaglio gli hook di WooCommerce.
Dimostrazione
Comprendiamo gli hook usando alcuni frammenti di codice di esempio.
Azione Gancio e funzione
//Aggiunta di un hook Action funzione my_action_hook() { echo "<p align='center'>Questo è un esempio di Action Hook</p>"; } add_action( 'get_header', 'my_action_hook' );
Nello snippet di codice sopra, "my_action_hook" è il nome della funzione personalizzata, "add_action" è una delle funzioni Action e "get_header" viene utilizzato per personalizzare l'intestazione del modello. Nello snippet di codice fornito, stiamo visualizzando il testo "Questa è una demo di Action Hook" nella sezione dell'intestazione del sito web.
Di seguito è mostrato uno screenshot di esempio che mostra le modifiche allo snippet di codice applicato.

Filtro gancio e funzione
//Aggiunta di un filtro hook add_filter('woocommerce_get_price_html','my_filter_hook'); funzione my_filter_hook($prezzo){ return 'Per solo '.$prezzo; }
Nello snippet di codice sopra, "woocommerce_get_price_html" è un hook WooCommerce per ottenere il prezzo del prodotto, "my_filter_hook" è il nome del filtro definito dall'utente e "$price" è una variabile definita dall'utente. Il frammento di codice aggiunge semplicemente il prefisso "Per solo" al prezzo del prodotto.
La seguente schermata mostra come lo snippet di codice influisce sul nostro negozio WooCommerce.

Questo è solo un semplice esempio, ci sono molte cose che puoi ottenere con Hooks.
In che modo le azioni e i filtri aiutano ad estendere la funzionalità?
- Il vantaggio principale dell'utilizzo di Hooks è che aiuta a personalizzare il codice principale di WordPress.
- Eventuali modifiche allo sviluppo possono essere attentamente monitorate poiché la modifica è minima anziché in più occasioni nel codice.
- Lo sviluppo di nuovi plugin è molto più semplice con il metodo try-and-test.
- Per lo sviluppo del tema, è possibile creare temi figlio e giocare con i ganci senza influire sul tema principale.
- È un'offerta WordPress semplice e facile da usare che ha una struttura comprensibile e una documentazione dettagliata per qualsiasi riferimento.
- Supporta WooCommerce, il plugin di eCommerce WordPress più popolare. I plug-in per i prezzi di WooCommerce modificano ampiamente i prezzi dei prodotti, i calcoli dei prezzi e offrono prezzi e sconti dinamici utilizzando gli hook WooCommerce. I dettagli dell'ordine, le informazioni sul prodotto, i dettagli di spedizione tra le cose possono essere toccati utilizzando ganci personalizzati.
Commenti conclusivi
Gli Hook di WordPress sono il meccanismo chiave per lo sviluppo di plugin e temi. Sono ampiamente utilizzati per modificare il codice WordPress esistente per personalizzare il sito web. Sebbene gli hook abbiano una serie di vantaggi, è necessario assicurarsi che ogni hook personalizzato sia unico e non si sovrapponga a un altro hook con lo stesso nome. Anche in questo caso è possibile assegnare priorità di esecuzione agli hook secondo le proprie esigenze.
Dai un'occhiata ai nostri articoli sulla personalizzazione di WooCommerce per suggerimenti sulla personalizzazione del tuo negozio WooCommerce.
Oppure continua a esplorare LearnWoo per altri articoli sorprendenti.