# Fonction anonyme

> Fonction PHP déclarée sans nom, souvent affectée à une variable ou passée directement en argument, utile pour un traitement ponctuel et local.

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

Pas besoin de baptiser une fonction qu'on n'utilisera qu'une seule fois, à un seul endroit précis du code : la fonction anonyme, appelée aussi closure en PHP, répond exactement à ce besoin ponctuel.

## Un usage massif dans les hooks WordPress

Attacher une fonction anonyme directement à `add_action` ou `add_filter` évite de créer une fonction nommée séparée pour un traitement simple et localisé, une pratique très répandue dans les fichiers `functions.php` de thèmes modernes.

## Exemple

```
add_filter('excerpt_length', function ($longueur) {
    return 20;
});

add_action('wp_footer', function () {
    echo '<p class="mention-legale">Site propulsé par WordPress</p>';
});
```

Chaque fonction anonyme reste isolée à son usage précis, sans polluer l'espace global de noms de fonctions du thème.

## À ne pas confondre avec une fonction fléchée

- PHP propose depuis la version 7.4 les fonctions fléchées (`fn($x) => $x * 2`), plus concises mais qui capturent automatiquement les variables extérieures par valeur, contrairement à une closure classique qui nécessite le mot-clé `use`.
- Le mot-clé `use ($variable)` permet à une fonction anonyme classique d'accéder à une variable définie en dehors de son propre corps, par valeur ou par référence avec `use (&$variable)`.
- Une fonction anonyme reste une valeur comme une autre : elle peut être stockée dans un tableau, passée en paramètre ou retournée par une autre fonction.
