Un hook est essentiellement un mécanisme qui permet de déclencher des actions spécifiques à des moments précis dans un logiciel, un thème ou une extension. Il agit comme un point d’attache où des modules ou des fonctionnalités peuvent se connecter pour exécuter des actions supplémentaires à des instants déterminés, sans altérer le code source existant.

Pour personnaliser le comportement d’un logiciel, d’un thème ou d’une extension sans modifier le code source, les hooks offrent une solution flexible. Il est recommandé de les placer dans des plugins plutôt que dans le fichier functions.php du thème, car cela assure leur maintien lors d’un changement de thème.

Il existe deux types de hooks : ceux qui enregistrent des fonctions en mémoire pour les exécuter au moment adéquat (via add_action()) et ceux qui filtrent des éléments pour permettre la modification des données traitées (via add_filter()). De plus, il y a des hooks qui déclenchent des actions ou des affichages en exécutant les fonctions liées (via do_action()) ou en affichant les résultats des données traitées (via apply_filter()).

Les principaux hooks d’action incluent des actions telles que auth_cookie_malformed, auth_cookie_valid, add_theme_support(), after_setup_theme(), admin_head(), etc. Quant aux principaux hooks de filtres, ils englobent des filtres comme body_class(), current_filter(), excerpt_lenght(), the_content(), wp_filter(), wp_title(), etc.

En somme, un hook, aussi appelé crochet ou point d’ancrage, constitue un moyen efficace de déclencher des fonctionnalités spécifiques à des moments précis, offrant ainsi une grande souplesse dans la personnalisation et la modification des logiciels, thèmes ou extensions.