Hook, Azioni e Filtri: Il Cuore dello Sviluppo Custom su WordPress

WordPress

La grande potenza di WordPress risiede nella sua estensibilità. Puoi modificare quasi ogni aspetto del suo comportamento senza mai toccare una riga del codice del core. Questo è possibile grazie a un meccanismo chiamato Hooks System.

Un "hook" (gancio) è un punto specifico nel codice di WordPress dove gli sviluppatori di plugin e temi possono "agganciare" il proprio codice per eseguire un'azione o modificare un dato.

Esistono due tipi di hook:

Le Azioni (Actions)

Un'azione ti permette di eseguire una tua funzione custom in un punto specifico del ciclo di vita di WordPress. WordPress "annuncia" che sta per fare qualcosa (es. "sto per caricare l'header", "un post sta per essere salvato"), e tu puoi agganciare la tua funzione a quell'annuncio.

Si usa la funzione `add_action('nome_hook', 'nome_tua_funzione');`.

  • Esempio Pratico: Vuoi inserire il codice di tracciamento di Google Analytics nell'header di ogni pagina. Invece di modificare il file `header.php` (una pessima pratica), agganci una funzione all'hook `wp_head`:
    function mio_codice_analytics() {
        echo '<!-- Codice Google Analytics -->';
    }
    add_action('wp_head', 'mio_codice_analytics');

I Filtri (Filters)

Un filtro ti permette di modificare dei dati prima che vengano usati da WordPress. WordPress ti "passa" un dato (es. il titolo di un post), la tua funzione lo modifica, e poi lo "restituisce" (return) a WordPress, che userà la versione modificata.

Si usa la funzione `add_filter('nome_hook', 'nome_tua_funzione');`.

  • Esempio Pratico: Vuoi aggiungere automaticamente la parola "[Archiviato]" alla fine del titolo di tutti i post più vecchi di un anno. Agganci una funzione al filtro `the_title`:
    function aggiungi_etichetta_archivio($title) {
        if (in_the_loop() && get_post_type() === 'post' && is_single()) {
            // ...logica per controllare la data...
            $title .= ' [Archiviato]';
        }
        return $title;
    }
    add_filter('the_title', 'aggiungi_etichetta_archivio');

Comprendere e usare correttamente azioni e filtri è la competenza fondamentale per lo sviluppo di temi child e plugin custom in modo professionale.

Hai bisogno di una soluzione su misura?

Dalla Web App al gestionale custom, trasformiamo le tue idee in software performante. Contattaci per una consulenza gratuita.

Richiedi una consulenza