Tutto quello che devi sapere sugli hook di WordPress
Pubblicato: 2015-07-11Agganciato agli hook di WordPress?
C'è molto da fare sotto il cofano mentre WordPress lavora per rendere il componente necessario per il tuo sito web. Ogni pagina è composta da alcune funzioni e query di database. Il core di WordPress e il tema lavorano insieme per produrre testo, immagini, fogli di stile e altri file. Con l'aiuto del browser, tutti questi pezzi vengono interpretati e messi insieme in un'unica pagina web. Gli hook danno la possibilità di personalizzare, estendere e migliorare WordPress.
Gli hook sono denominati in modo appropriato perché possiamo letteralmente "agganciarci" a WordPress per recuperare, inserire o modificare dati o svolgere altre attività dietro le quinte. In un certo senso, "appendiamo" il nostro codice personalizzato a quei ganci. Come sappiamo, modificare il core di WordPress non è una buona idea. Per questo motivo, gli action hook e i filter hook in WordPress sono il modo migliore per modificare le esistenti o creare nuove funzionalità.
Tipi di ganci
I ganci sono una parte necessaria quando si effettuano personalizzazioni. Esistono due tipi principali di ganci: ganci di azione e ganci di filtro. Ognuno offre qualcosa di diverso, quindi è importante capire quando usare quale.
Un gancio non può essere semplicemente lanciato ovunque; ci deve essere qualcosa a cui "agganciarsi". Avere quel punto di esecuzione per quell'hook è necessario. La buona notizia è che in tutto il core di WordPress sono disponibili hook integrati a cui fare riferimento.

Perché usare i ganci
Molto può essere cambiato con gli hook perché molte delle funzioni principali di WordPress utilizzano azioni e filtri. Comprendere gli hook è assolutamente necessario per chiunque sviluppi con WordPress e per i designer che vogliono modificare WordPress o il comportamento del tema.
Ganci d'azione
Gli action hook indicano che è successo qualcosa, da non confondere con gli eventi stessi. Le azioni sono attivate da eventi specifici che si verificano in WordPress. Un esempio di un evento potrebbe essere cose come la pubblicazione di un post, la modifica dei temi o l'attivazione di un plug-in. Le azioni consentono di aggiungere funzionalità extra in un punto specifico dell'elaborazione della pagina. Gli action hook possono fare cose come:
- Modifica i dati nel database di WordPress
- Modifica ciò che viene visualizzato nel browser
- Invia un'e-mail quando si è verificato un evento
- Aggiungi un widget, un menu o un messaggio personalizzato alla pagina

Esempio di gancio di azione
add_action( $hook, $function_to_add, $priority, $accepted_args );
I parametri richiesti della funzione add_action sono l'hook e la funzione da aggiungere. L'inclusione della priorità è facoltativa. Con un valore intero basato su una scala da 1 a 999, questo numero determina l'ordine di priorità delle funzioni per quello specifico hook. Potrebbe non essere necessario, ma l'ultimo parametro viene utilizzato quando è necessario passare o accettare più argomenti.
Diamo un'occhiata a un hook di azione di base:
// This is the function, name it accordingly
function custom_welcome_text() { ?>
<div class="optional-custom-class">Hello WordPress!</div>
<?php }
// Action function that outputs the function above into the theme hook
add_action( 'welcome_hook', 'custom_welcome_text', 5 );
Questo hook di base aggiungerà "Hello WordPress" nella parte superiore della pagina. Ha una priorità di 5. I numeri più bassi corrispondono all'esecuzione precedente. Per impostazione predefinita è impostato su 10, quindi questo esempio viene eseguito prima del valore predefinito.

Ganci per filtri
Esaminiamo uno scenario comune e come entrano in gioco gli hook del filtro. Pensa a tutte le volte che i tuoi utenti visitano il tuo sito e viene caricato un post da leggere. Come parte del ciclo di vita della pagina di WordPress, WordPress interroga il database per quel post, quindi viene restituito al browser, pronto per essere letto dall'utente. Sembra tutto semplice, ma prima che il contenuto venga servito, WordPress esegue i dati attraverso tutti i filtri che sono stati stabiliti. Questi ganci per filtri possono essere facilmente creati quando necessario.
Pensala in questo modo: le azioni sono innescate da eventi specifici, ma i filtri consentono l'intercettazione e la modifica dei dati mentre vengono elaborati. Gli hook del filtro vengono utilizzati quando è necessario intercettare, gestire o restituire dati prima di renderli al browser o salvare i dati dal browser al database. Ad esempio, potresti voler inserire un'altra classe CSS in un elemento HTML di WordPress o registrare ulteriori tipi di meta campi. Entrambi possono essere eseguiti con un gancio filtro.

I filtri si trovano tra il database e il browser mentre WordPress genera le pagine. Inoltre, si trovano tra il browser e il database mentre WordPress aggiunge nuovi post e commenti al database. Per questo motivo, i filtri hook possono fare cose utili come:
- Aggiungi dati al database o invia alla schermata del browser
- Manipola i dati in uscita dal database prima che entrino nel browser o provengono dal browser prima di entrare nel database.
Esempio di gancio filtro
Nell'esempio seguente, vedremo come funziona un hook del filtro sul contenuto. Questo hook viene attivato appena prima che il contenuto venga utilizzato, inserito nel database o visualizzato da WordPress per la visualizzazione su schermo. Ciò altera i dati quando viene attivato l'hook del filtro.
La funzione add_filter è ciò di cui abbiamo bisogno per agganciarci a un filtro. Gli argomenti potrebbero sembrarti familiari, add_filter è lo stesso di add_action . Ora colleghiamoci al filtro di WordPress the_content, che viene chiamato prima che qualsiasi contenuto del post venga visualizzato. In questo semplice esempio, il filtro ci permetterà di aggiungere una nota di copyright a ogni post. A questo punto, i filtri interverranno sui dati che vengono loro passati.
add_filter( 'the_content', 'add_copyright_notice' );
function add_copyright_notice( $content )
{
return $content . " <br>This content is copyrighted.";
}
Nota, quando usi un filtro, devi sempre restituire qualcosa o le cose si romperanno.
Aggiunta di hook a un tema
Quando aggiungi hook e filtri al tema, assicurati di lavorare in un tema figlio. Il motivo principale è che se stai lavorando nel tema principale, queste modifiche potrebbero essere sovrascritte se c'è un aggiornamento ai file del tema.
Si spera che tu abbia una migliore comprensione degli hook, cosa possono fare e come possono aiutare. Gli hook possono essere molto semplici, molto complessi o una via di mezzo. Una volta che hai i concetti di base, sarai catturato in pochissimo tempo.
