I Ganci di WordPress

WP-Hooks
WP-Hooks

La bellezza di WordPress risiede soprattutto nel fatto che è facilmente modificabile. Il programma mette inoltre a disposizione un meccanismo per fare modifiche direttamente nel cuore del codice, tramite i cosiddetti “Hooks” (Ganci).

Il gancio è un pezzo di codice inserito in una funzione che in pratica ti dice: -“Ehi, se vuoi qui ti puoi attaccare per fare una modifica!…-

Il gancio (ce ne sono quasi duemila) ha un nome e passa determinati parametri. Chi se ne volesse avvalere, deve scrivere una propria funzione che riceva questi parametri e generi un output alternativo alla funzione “con gancio”. La funzione agganciata può risiedere in un nostro tema o plugin, al riparo dagli aggiornamenti di WordPress. A valle della funzione agganciata, bisogna scrivere anche una funzione “agganciatrice”, che entra in azione quando si presenta il giusto gancio. In questo “manovratore”, è riportato il nome del gancio, il nome della funzione agganciata più altri parametri.

Come riportato in un altro articolo, avevo modificato un file del programma per ottenere una determinata visualizzazione delle gallerie, rammaricandomi che questa modifica si sarebbe persa nel momento in cui WP si fosse aggiornato. Rileggendo la funzione modificata, mi sono accorto che era presente un bel gancio messo lì apposta per apportare modifiche! A grandi linee la funzione era strutturata cosi:

INIZIALIZZAZIONE PARAMETRI – GANCIO – DATI PREIMPOSTATI – OPERAZIONI VARIE – OUTPUT.

La mia modifica precedente era stata quella di cambiare i DATI PREIMPOSTATI con i NUOVI DATI. Ora invece ho scritto una nuova funzione che accetta i parametri del gancio e che funziona pressappoco così:

NUOVI DATI – OPERAZIONI VARIE – OUTPUT.

A valle della funzione agganciata ho scritto il “manovratore”, ho caricato tutto sul mio Tema e… HA FUNZIONATO! L’importante è non chiamare la funzione agganciata con il nome di un’altra funzione esistente (sai che casino). Per evitarlo ho apposto alla mia funzione il prefisso andywar_.

P.S. Purtroppo ho dovuto eliminare questa funzione, che, se presente, impedisce la visualizzazione delle gallerie tramite il Carousel della plugin Jetpack. Carousel è molto fico, per cui non posso farne a meno.

Autore: Andy War

Born in Naples, 1965, lived in Princeton and France, then back to Italy. Comics. Grendizer, Star Wars, Lucky Luke. Architecture, Punk Rock. Sciattoproduzie, structures. Digital animations, running, hospitals. I live and work in Rome, married with two children.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.