# 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.

- Auteur : Clément Hadrot
- Publié le : 2026-09-25
- Mis à jour le : 2026-09-25
- URL : https://wpmoderne.dev.wordpress-developpement.fr/lexique/hook/

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.
