Come spesso accade, specialmente quando si è alle prime armi con WordPress e la programmazione, siamo obbligati all’utilizzo di plugin per estendere le funzionalità di un sito. In molti casi il plugin scelto non soddisfa tutte le esigenze e siamo costretti ad effettuare rilasci incompleti.

Se ti riconosci in queste azioni fermati e inizia a valutare nuovi approcci di sviluppo.

WordPress, come altri CMS, offre la possibilità di estendere le sue funzionalità senza lavorare sul codice sorgente ma bensì sul tema attraverso modifiche del functions.php

Questo file permette l’integrazione di ogni tipo di modifica.

Prima di iniziare a spiegare come funziona il functions.php è utile capire che le modifiche effettuate in esso sono dipendenti dal tema, quindi a differenza di un plugin, le funzioni implementate sono vincolate dall’utilizzo del tema stesso.

Il functions.php si possono effettuare chiamate alle funzioni principali di WordPress e dichiararne nuove per modificare il core. Per esempio se abbiamo la necessità di integrare nel nostro WordPress una nuova verticale di post per le recensioni di Libri, possiamo utilizzare una funzione per creare un nuovo Custom Post Type:

function book_custom_post() {
    register_post_type( 'book', array(...))
}

Dichiarata la nostra funzione dobbiamo procedere con “l’aggancio” ad un evento di Worpress. Questa azione viene avviene grazie agli Hook.

add_action( 'init', 'book_custom_post');   

Nell’esempio si inizializza la funzione con l’hook:

add_action( 'action-hook', 'my-custom-function', $priorita, $varibili );

Azioni (action hooks)

Come anticipato le azioni permetto l’aggancio di una determinata funzione e legarla ad un determinato evento. Alle Actions possono essere associate diverse funzioni.

Filter ( Filter hooks)

A differenza delle azioni, i filter hooks permettono il recupero dei dati dal database di WordPress prima che vengano mostrati. Permettono quindi la modifica dinamica dei contenuti.

add_filter( 'filter-hook', 'my-custom-function', $priorita, $varibili );

Conclusioni

Le opportunità offerte da WordPress tramite l’utilizzo degli hooks sono infinite. Gli hooks disponibili sono numerosi, ma nonostante questo WordPress permette la creazione di hook personalizzati (do_action , apply_filters()).

Se hai voglia di imparare ed esplorare queste nuove funzionalità segui i prossimi post.

Se hai un sito in WordPress limitato o legato all’utilizzo di plugin che non soddisfano le tue esigenze

Nicola Toralbo
Digital Dew è un blog di Nicola Toralbo. I suoi post esplorano la progettazione e lo sviluppo del web moderno attraverso foto e citazioni di architetti, ingegneri e creativi influenti.