Hook può essere tradotto in italiano con la parola “Gancio”. Un Hook di WordPress è un gancio che ci permette di usufruire delle funzioni dei file core del CMS senza modificare il core stesso.

Se aggiungessimo delle funzioni modificando i file core (i file che costituiscono il cuore di WordPress), al primo aggiornamento di versione perderemo tutte le modifiche messe in opera in quanto i file core verranno sovrascritti.
Utilizzando i WordPress Hook possiamo scrivere il nostro codice in un file esterno e richiamare con gli Hook le funzioni del core. Al nuovo aggiornamento di WordPress verranno sostituiti solo i file core e il nostro codice sarà salvo!

Gli Hook sono utilizzati regolarmente per realizzare plugins e temi per WordPress.

Gli Hook si dividono in due famiglie, “Action Hook” e “Filter Hook”.

Gli Action Hook eseguono una condizione del tipo: “quando raggiungi questo punto, inserisci questo codice“. Il loro utilizzo è rivolto all’inserimento di nuovo codice all’interno delle pagine.

Un esempio pratico, supponiamo di voler aggiungere un – meta tag HTML – con il nostro nome come autore a tutte le pagine del nostro tema.
Vediamo il meta tag dove va inserito in una pagina HTML:

<!DOCTYPE html>
<html>
 
<head>
<title>Titolo del documento</title>
<META NAME=author CONTENT=”Andrea Tonin”>
</head>
 
<body>
In contenuto del documento
</body>
 
</html>

Apriamo il file blog/wp-content/themes/miotema/functions.php e aggiungiamo:

<?php
add_action('wp_head', 'inserisci_autore');
 
function inserisci_autore() {
 
    echo '<META NAME=author CONTENT=”Andrea Tonin”>' . "\n";
 
} 
?>

L’Action Hook è wp_head, quindi:

<?php
esegui funzione('quando viene caricato Hook wp_head', 'la mia funzione');
 
function la mia funzione() {
 
    echo '<META NAME=author CONTENT=”Andrea Tonin”>' . "\n";
 
} 
?>

Ogni volta che viene caricato il tag HTML – head – viene aggiunto il meta tag specificato.
Da notare l’utilizzo alternato degli apici singoli ‘ e dei doppi apici ” per l’esecuzione corretta del comando – echo -.

Per un’ulteriore approfondimento vi rimando alla pagina ufficiale gli Action Hook: http://codex.wordpress.org/Plugin_API/Action_Reference >

I Filter Hook modificano l’output in un determinato punto.

Apriamo il file blog/wp-content/themes/miotema/functions.php e aggiungiamo:

<?php
 
add_filter( 'the_content', 'inserisci_firma' );
 
function inserisci_firma( $content ) {
 
    if ( is_single() ) {
 
        $content .= '<div>Questo articolo è stato scritto da Andrea Tonin</div>' . "\n";
 
    } )
 
    return $content;
 
} 
?>

Il Filter Hook è the_content quindi:
Utilizza il Filter Hook – the_content – modifica l’output con la funzione – inserisci_firma -;
La funzione – inserici_firma – se si tratta di un articolo del blog – is_single – (ricordiamo che nel template l’aspetto degli articoli è definito in single.php), aggiungi al contenuto – .= – (è l’operatore per l’aggiunta dei contenuti), ‘Contenuto in HTML’. Se la condizione è falsa –return $content;– restituisci il contenuto originale senza l’aggiunta.

Per un’ulteriore approfondimento vi rimando alla pagina ufficiale dei Filter Hook: http://codex.wordpress.org/Plugin_API/Filter_Reference/the_content >

Il mio sito ufficiale>