vendredi 25 septembre 2026

À propos

Contact

Lexique · Extensions & API WordPress

Hook

En anglais : « Hook »

Point d'ancrage exposé par WordPress à un moment précis de son exécution, permettant à une extension ou un thème d'y greffer du code sans modifier les fichiers d'origine.

Imaginez une chaîne de montage où chaque poste laisse la possibilité d’ajouter une étape supplémentaire sans arrêter la ligne : c’est ce principe que WordPress applique tout au long de son exécution, de l’initialisation à l’affichage final de la page.

Deux familles

Le terme générique recouvre en réalité deux mécanismes distincts. Une action, déclenchée avec do_action() et interceptée avec add_action(), exécute du code à un instant donné sans attendre de retour. Un filtre, déclenché avec apply_filters() et intercepté avec add_filter(), transmet une valeur que la fonction accrochée doit modifier puis retourner :

add_action( 'init', 'enregistrer_type_personnalise' );
add_filter( 'excerpt_length', function ( $longueur ) {
  return 30;
} );

Où les trouver

Le cœur de WordPress déclenche des centaines de hooks documentés, depuis init tout au début du chargement jusqu’à wp_footer juste avant la fermeture de la page. Une extension bien conçue déclenche aussi ses propres hooks pour rester elle-même extensible par d’autres.

Bon à savoir

  • L’ordre d’exécution entre plusieurs fonctions accrochées au même hook se règle avec l’argument de priorité, un entier plus petit s’exécutant en premier.
  • Un hook mal orthographié ne génère aucune erreur : la fonction accrochée ne se déclenche simplement jamais, ce qui rend ce genre de faute particulièrement difficile à repérer.
  • La fonction remove_action() ou remove_filter() permet de détacher une fonction précédemment accrochée par une autre extension ou par le thème, à condition d’utiliser exactement la même priorité que celle déclarée à l’origine.