Créer des Hooks Persos dans WordPress

Voici une petite explication de ce qu’il est possible de réaliser grâce au système de hook de WordPress.
Ces quelques lignes vous aiderons peut être à voir plus clair en ce qui concerne la notion de hook et les fonctions add_action() et do_action()

Imaginons ce code php dans votre fichier functions.php :

function dire_bonjour() {
 $phrase = '<p>bonjour!</p>';
 echo $phrase;
}
add_action( 'thierry_action_hook', 'dire_bonjour' );

do_action('thierry_action_hook');

Pour créer un hook perso il suffit de le mentionner dans un do_action() et c’est tout, WordPress saura le gérer.

la fonction do_action( $tag, $arg1 );

Cette fonction appellera toutes les fonctions attachées au hook d’action : $tag ( ici thierry_action_hook , notez que $arg1 est un argument qui n’est  en rien obligatoire ). Vous pourrez même passer plusieurs arguments si besoin.

la fonction add_action( );

Ensuite pour donner un intérêt à la chose, créez la fonction voulue (ici : dire_bonjour(); ) et grâce à un add_action( ) vous accrocherez cette fonction à votre hook. Cette fonction permet d’accrocher une fonction à un hook d’action. WordPress exécutera votre fonction lors du hook précisé.

Cette fonction pourrait s’expliquait en la notant comme ceci :

add_action( $hook , $function_to_add , $priority , $number_of_arg );

$hook et $function_to_add sont des variables de type string.
$priority et  $number_of_arg sont des variables de type int.

Accrochez plusieurs fonctions à votre Hook

function dire_bonjour() {
 $phrase = '<p>bonjour!</p>';
 echo $phrase;
}
function remercier($mot1, $mot2) {
 $phrase = $mot1.' '.$mot2;
 echo $phrase;
}
add_action( 'thierry_action_hook', 'dire_bonjour' );
add_action( 'thierry_action_hook', 'remercier', 10, 2 ); //ici 2 correspond au nbr d'arguments de la fonction remercier()

do_action('thierry_action_hook', 'Je vous remercie', 'pour votre attention');