La Guida per principianti alle azioni e ai filtri WordPress

Quando si tratta dello sviluppo professionale di WordPress, è fondamentale che gli sviluppatori comprendano sia le azioni che i filtri, ovvero, è importante comprendere gli hook di WordPress.

In poche parole, i ganci ci consentono di personalizzare, estendere e migliorare WordPress tramite un'API nei nostri temi, plug-in e altri sforzi di sviluppo personalizzati.

Il problema è che queste due caratteristiche di WordPress - probabilmente gli aspetti più importanti dello sviluppo per la piattaforma - sono ampiamente fraintese o completamente ignorate.

In questo post, daremo un'occhiata al ciclo di vita della pagina di WordPress, capiremo come funzionano gli hook e analizzeremo le differenze nelle azioni e nei filtri in modo tale da non solo diventare migliori sviluppatori di temi e / o plug-in, ma anche avere una più profonda comprensione di come funziona WordPress.

Nota: Questo articolo è rivolto in particolare ai principianti, quindi se sei uno sviluppatore esperto questo può essere un po 'di aggiornamento; tuttavia, se tu siamo un principiante, per favore sentiti libero di lasciare domande nell'area dei commenti alla fine del post.


Il ciclo di vita della pagina WordPress

Prima di iniziare a parlare degli hook di WordPress, è importante capire come funziona il ciclo di vita delle pagine di WordPress.

Un ciclo di vita della pagina non è altro che una combinazione degli eventi che si verificano dal momento in cui un browser richiede una pagina a quando il server restituisce la pagina al browser.

Diciamo, per esempio, che stai caricando una singola pagina. Quindi, ad un alto livello, WordPress farà qualcosa di simile al seguente:

  • Guarda l'ID della pagina richiesta
  • Interrogare il database per la pagina tramite il suo ID
  • Interrogare il database per tutti i dati associati (come categorie, tag, immagini, ecc.)
  • Interrogare il database per i commenti associati ad esso
  • Ritorno tutti dei dati al browser

I file modello e le chiamate alle funzioni API sono quindi responsabili del rendering, dello stile e del posizionamento dei dati sullo schermo.

Sembra semplice, ma se pensi ad alcuni dei blog più complessi che leggi, o se pensi anche a parte del lavoro che hai fatto, puoi iniziare a capire quanto sia intenso questo particolare processo.

Naturalmente, anche questo è al livello più semplicistico. Questo non include alcun meccanismo di memorizzazione nella cache o uno degli argomenti avanzati che altri discutono spesso quando si creano progetti basati su WordPress.

Un famoso sviluppatore di WordPress Rarst - il ragazzo dietro a queryposts.com - ha creato un grafico relativamente dettagliato che mostra il carico principale di WordPress:

Fare non essere scoraggiato se non è possibile seguire lo schema di cui sopra. L'ho inserito qui semplicemente come riferimento. L'obiettivo finale di questa sessione è che, alla fine, tutti gli sviluppatori sono in grado di capirlo.

Detto questo, ecco la cosa fondamentale da capire sugli hook durante il ciclo di vita del caricamento della pagina WordPress:

Mentre WordPress esegue la serie di query e si prepara a eseguire il rendering dei dati nel browser, sta esaminando tutti i ganci personalizzati, ovvero le azioni e i filtri, che sono stati scritti e sta trasmettendo i dati attraverso tali filtri prima di restituire i dati a il browser.

A questo punto, è importante definire gli hook e osservare le differenze tra azioni e filtri e il modo in cui giocano nell'intero ciclo di vita.


All About Hooks

Gli hook di WordPress si riferiscono a due cose: azioni e filtri. Se guardassi gli articoli del Codex sugli hook, non vedresti altro che una breve pagina che rimandi ai riferimenti sia per le azioni che per i filtri. È esattamente come dovrebbe essere, perché quello è quali ami sono.

Quindi ecco come pensare a questo:

Gli hook ci consentono letteralmente di agganciare parti del ciclo di vita della pagina WordPress per recuperare, inserire o modificare dati, oppure ci permettono di intraprendere determinate azioni dietro le quinte.

Molto bello, giusto?

Ma ci sono due cose da capire su questo:

  1. Le azioni sono diverse dai filtri.
  2. Non puoi semplicemente gettare un gancio in un punto arbitrario di esecuzione. Ci sono momenti in cui alcuni hook si attivano e tempi ottimali per approfittarne.

Detto questo, prima definiamo azioni e filtri, poi esamineremo quando licenziare cosa.


Prendere l'iniziativa

Quindi, quali sono le azioni? La definizione più semplice è questa: le azioni indicano che qualcosa è successo. Questo è tutto. Ma a che serve questa definizione? E come non confonderlo con gli eventi?

Ecco come lo tengo dritto:

Le azioni sono eventi nel ciclo di vita della pagina di WordPress quando si verificano determinati eventi: determinate risorse sono caricate, alcune strutture sono disponibili e, a seconda di come si è verificata l'azione, alcune cose devono ancora essere caricate.

Poiché abbiamo discusso la vita della pagina WordPress, le azioni sono fondamentalmente determinati punti durante la vita in cui è possibile introdurre la propria funzionalità.

Ciò significa che hai la possibilità di far succedere qualcosa mentre una pagina si sta caricando.

Il codice fornisce a grande risorsa sulle azioni che sono incorporate in WordPress e sull'ordine in cui sparano. Segnalibro, si riferisce spesso e impara questo.

È fondamentale imparare come collegare WordPress in determinati punti durante l'esecuzione e Doing It Right ™.

Caso in questione: vedo spesso gli sviluppatori che si agganciano al dentro azione troppo spesso. Certo, c'è un tempo per farlo. Ma dimmi che volevi fare qualcosa solo prima di ottenere i post. Quindi avrebbe senso usare il pre_get_posts amo piuttosto che dentro, destra?

Quello è perché è importante capire le azioni.


Filtra tutte le cose

I filtri, d'altra parte, sono completamente diversi dalle azioni. Come le azioni, sono punti simili che si verificano durante il ciclo di vita della pagina WordPress; tuttavia, cosa loro fare è diverso.

Ecco come definisco i filtri:

I filtri sono funzioni che WordPress trasmette i dati durante determinati punti del ciclo di vita della pagina. Sono i principali responsabili dell'intercettazione, della gestione e della restituzione dei dati prima di inviarli al browser o di salvare i dati dal browser al database.

Supponiamo per un momento che un visitatore del sito stia per caricare un post. Da quanto capiamo del ciclo di vita della pagina WordPress, WordPress interrogherà il database per quel post, quindi lo restituirà al browser. Prima di farlo, però, eseguirà i dati attraverso tutti i filtri che sono stati stabiliti.

A questo punto, i filtri agiranno sui dati che vengono passati a loro. Ad esempio, supponi di voler aggiungere una breve frase sull'autore alla fine del contenuto. Per fare ciò, devi registrare una funzione personalizzata con il contenuto filtra e aggiungi la tua frase al contenuto.

Come fare questo va oltre lo scopo di questo articolo, ma intendiamo coprirlo in un futuro articolo della sessione.

Proprio come con le azioni, il Codice presenta un elenco completo di filtri disponibili. E allo stesso modo, Segnalibro, si riferisce spesso e impara questo.

Una volta acquisita una solida conoscenza dei filtri, puoi iniziare a manipolare il recupero e la serializzazione dei dati con Doing It Right ™ piuttosto che eludere l'API di WordPress. Fornisce un modo potente e molto semplice per manipolare i dati.

Quello è perché è importante capire i filtri.


Ma quando lo faccio ... ?

A questo punto, sorge inevitabilmente la domanda inevitabile.

Quando uso quale gancio?

Ed ecco il consiglio che normalmente do:

  • Utilizzare le azioni quando si desidera aggiungere qualcosa alla pagina esistente come fogli di stile, dipendenze JavaScript o inviare un messaggio di posta elettronica quando si verifica un evento.
  • Usa i filtri quando vuoi manipolare i dati che escono dal database prima di andare al browser, o dal browser prima di entrare nel database.

Questo è tutto! Abbastanza facile, spero.


conclusioni

A questo punto, consiglio vivamente di rivedere le seguenti risorse:

  • L'API Plugin che fornisce anche alcune ottime informazioni che possono essere utilizzate anche nello sviluppo di temi.
  • Il riferimento all'azione
  • Il riferimento del filtro

Abbiamo in programma di continuare a pubblicare numerosi post nella sessione per accompagnare questo articolo e l'articolo di Pippin sui plugin estensibili, quindi assicurati di rimanere sintonizzato su questa sessione per ulteriori informazioni sugli hook.