50 filtri di WordPress un'introduzione ai filtri

WordPress è una piattaforma straordinaria e il sistema di gestione dei contenuti più popolare al mondo. La ragione di questo titolo è a causa della sua estensibilità. In questa serie, apprenderemo i filtri, uno dei modi migliori per estendere WordPress.

Alla base di questa caratteristica si trova ganci - filtri e azioni di WordPress. Senza di loro, non saremmo in grado di approfittare di quanto WordPress estensibile sia davvero.

In questa serie, apprenderemo i filtri, uno dei migliori modi in cui possiamo estendere WordPress. Sarà una serie in sette parti incentrata su:

  • la definizione dei filtri WordPress e un'introduzione su come usarli (l'articolo che stai leggendo in questo momento),
  • cinque articoli su un totale di 50 filtri WordPress (10 in ogni articolo) con esempi
  • e un articolo "avvolgendo", ricapitolando la spiegazione dei filtri e dei 50 esempi.

Ci sono letteralmente centinaia di filtri WordPress nel nucleo e questi 50 esempi saranno solo una parte di essi (circa il 10%), quindi potrebbe esserci un addendum se ti piace la serie e suggerire nuovi esempi sui nuovi filtri.

Ad ogni modo, è tempo di introdurre i filtri di WordPress. Cominciamo!

Cos'è un filtro WordPress?

Nel Codex, i filtri sono definiti come segue:

filtri sono funzioni che WordPress trasmette i dati attraverso, in determinati punti in esecuzione, appena prima di intraprendere un'azione con i dati. I filtri si trovano tra il database e il browser e tra il browser e il database; la maggior parte degli input e output in WordPress passa attraverso almeno un filtro. WordPress esegue alcuni filtri per impostazione predefinita e il tuo plug-in può aggiungere il proprio filtro.

Quindi, in sostanza, i filtri sono funzioni fare cose ai dati del tuo sito web prima WordPress lo produce. UN filtro è uno dei due tipi di hook in WordPress - l'altro è chiamato Azioni che è il soggetto di un'altra serie di articoli.

Anche se sembra un argomento complicato, i filtri (e le azioni) sono davvero facili da capire. Sono stato anche intimidito quando li ho incontrati per la prima volta, ma dopo aver visto quanto sono semplici, ho potuto conoscere centinaia di filtri e azioni semplicemente controllando il Codex o scavando il codice principale.

Dovresti sicuramente conoscere anche le centinaia di filtri. Ma prima, devi sapere come usarli.

Utilizzo dei filtri in WordPress

Usare i filtri di WordPress è, come ho detto, abbastanza facile. Ci sono solo alcune funzioni di base da conoscere e devi sapere cosa fa ogni filtro. (Per essere onesti, la parte più difficile è imparare tutti i filtri ma, come puoi immaginare, non puoi imparare tutti i singoli filtri contemporaneamente: li impari quando ne hai bisogno.) 

In questa sezione, passeremo attraverso quattro cose: 

  1. Creazione di una funzione di filtro, 
  2. Agganciandolo a un filtro, 
  3. Rimozione di una funzione da un filtro, 
  4. Creare i nostri filtri.

Creare una funzione filtro e collegarla a un filtro

Per giocare con i dati che vengono trasmessi dal filtro, è necessario creare una funzione che definisca il modo in cui giocherà con i dati e collegarli al filtro.

Diciamo che stiamo costruendo un plugin per rimuovere le vocali nei titoli dei post. Invece di dire "rimuovere le vocali nei miei post", si dice "aggancia questa funzione (che rimuove le vocali) al filtro dei miei post".

Complicato? Non proprio. Nell'esempio seguente, scriveremo il codice della funzione che rimuove le vocali nulla:

La funzione accetta il $ titolo stringa, rimuove le vocali e la restituisce. Abbastanza facile, giusto? Ora, portiamolo al livello successivo e collegalo a un filtro:

Si noti la nuova funzione? Diamo un'occhiata a add_filter () velocemente:

  • $ tag (richiesto) - Il nome del filtro.
  • $ function_to_add (richiesto): il nome della funzione da agganciare al filtro.
  • $ priorità (opzionale) - Un numero intero per specificare quando verrà eseguita la nostra funzione. Il valore predefinito è 10: La funzione verrà eseguita prima se la si imposta su inferiore e successiva se la si imposta su superiore.
  • $ accepted_args (opzionale) - Un numero intero per impostare il numero di argomenti accettati dal filtro. Il valore predefinito è 1.

Rimozione di un filtro

Possiamo rimuovere anche le funzioni associate ai filtri. Per fare ciò, usiamo una semplice funzione chiamata remove_filter (). Vediamo come funziona:

I parametri sono quasi gli stessi di add_filter ():

  • $ tag (richiesto) - Il nome del filtro.
  • $ function_to_remove (richiesto): il nome della funzione da rimuovere.
  • $ priorità (opzionale) - La priorità della funzione (definita quando la funzione è stata agganciata per la prima volta).

C'è anche un'altra funzione chiamata remove_all_filters () che ha solo due parametri ($ tag e $ priorità) dove si imposta il nome del filtro e si imposta la priorità. Come suggerisce il nome, rimuove tutte le funzioni collegate al filtro.

Creazione di filtri personalizzati

Mi chiedo come vengono creati questi filtri? C'è una funzione speciale chiamata apply_filters () che è tutto intorno al codice principale per creare centinaia di filtri. Ovviamente, può essere usato al di fuori del core, il che significa che possiamo creare filtri anche all'interno dei nostri plugin e temi. 

Vediamo come funziona:

  • $ tag (obbligatorio): il nome del tuo hook del filtro.
  • $ value (richiesto) - Il valore da modificare dalle funzioni del filtro agganciate tramite add_filter ().
  • $ var1, $ var2 e così via (opzionale) - Parametri del tuo filtro (quanti ne vuoi). Le funzioni filtro possono utilizzare questi parametri ma non possono essere restituiti dalle funzioni.

Pensiamo ad un esempio: immagina di scrivere una funzione che restituisce solo una famosa citazione di Peter Griffin:

Se vuoi permettere alle persone filtro questa citazione (e lascia il codice del tuo plugin da solo), devi usare il apply_filters () funzione come segue:
In questo modo, un altro sviluppatore usa il tuo plugin per giocare con i dati della tua funzione in questo modo:

Ora, ogni volta il peter_griffin_quote () la funzione viene eseguita, la citazione di Peter verrà leggermente modificata senza che lo sviluppatore modifichi il file del plugin. Pezzo di torta!

Se hai bisogno di ulteriori informazioni su questo argomento, dovresti dare un'occhiata a un ottimo tutorial di Pippin Williamson su Tuts + Code: "Scrivere plugin estensibili con azioni e filtri". In questo tutorial, puoi imparare come creare filtri e azioni per il tuo plugin o il tuo tema.

Conclusione

Più lavori su di loro, più divertiti con i filtri. Ce ne sono centinaia e imparando ognuno ti avvicina di un passo a essere un guru WordPress. Nella parte successiva di questa serie, apprenderemo circa 10 filtri WordPress:

  1. login_errors
  2. comment_post_redirect
  3. allowed_redirect_hosts
  4. body_class
  5. località
  6. sanitize_user
  7. il contenuto
  8. the_password_form
  9. i termini
  10. wp_mail_from

Sono davvero entusiasta di questa serie e spero che vi piaccia tanto quanto me. Se pensi di poterti aiutare con i tutorial suggerendo più filtri e chiedendo altri esempi, non esitare a dirmelo e condividi i tuoi pensieri commentando di seguito. 

E se ti è piaciuto quello che leggi in questo articolo, non dimenticare di condividerlo!

Ci vediamo nel prossimo tutorial!