Dans WordPress, une action (action hook en anglais) est un point d’ancrage programmé dans le cœur du CMS, dans un thème ou une extension, qui permet d’exécuter du code personnalisé à un moment précis de l’exécution du site.
Concrètement, une action ne modifie pas de données : elle déclenche l’exécution d’une ou plusieurs fonctions PHP définies par le développeur ou la développeuse. Cela permet d’ajouter, étendre ou modifier le comportement d’un site sans toucher au code source de WordPress lui-même.
Les actions sont gérées via l’API des actions (Actions API) de WordPress. Pour y attacher du code personnalisé, on utilise la fonction add_action(), en spécifiant :
- le nom du crochet (hook) existant (par exemple
wp_footer,init,admin_menu, etc.), - le nom de la fonction à exécuter à ce moment-là.
Exemple :
Pour insérer un script personnalisé juste avant la fermeture de la balise <body> dans le pied de page, on peut écrire :
function mon_script_perso() {
echo '<script>console.log("Bonjour depuis une action !");</script>';
}
add_action('wp_footer', 'mon_script_perso');
Action vs Filtre
Il est essentiel de distinguer les actions des filtres (filters) :
- Une action exécute du code à un moment donné, sans retourner de valeur. Elle sert à faire quelque chose (afficher du contenu, envoyer un e-mail, enregistrer des logs, etc.).
- Un filtre, en revanche, modifie une valeur (texte, tableau, HTML, etc.) et doit toujours retourner cette valeur modifiée. Il sert à transformer des données.
En résumé :
Action = faire | Filtre = transformer