# Crochet de désinstallation

> Mécanisme déclenché lors de la suppression définitive d'une extension WordPress, destiné à effacer proprement ses options, tables et fichiers propres.

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

Un site propre ne devrait garder aucune trace d'une extension supprimée depuis longtemps : ni options orphelines dans la table `wp_options`, ni table SQL abandonnée. C'est la responsabilité qui incombe à cette étape finale du cycle de vie, bien plus rarement implémentée que les crochets d'activation ou de désactivation.

## Deux façons de l'implémenter

La méthode recommandée consiste à créer un fichier nommé exactement `uninstall.php` à la racine de l'extension ; WordPress l'exécute automatiquement lors de la suppression, sans qu'il soit nécessaire d'enregistrer un crochet explicite :

```
if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
  exit;
}
delete_option( 'mon_extension_reglages' );
global $wpdb;
$wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}mon_extension_donnees" );
```

La vérification de la constante `WP_UNINSTALL_PLUGIN` est indispensable : elle garantit que le fichier n'est exécuté que dans le contexte réel d'une désinstallation, jamais en accès direct.

## Bon à savoir

- Une alternative existe via `register_uninstall_hook()`, mais la documentation officielle recommande le fichier `uninstall.php`, plus fiable.
- Sur un multisite, il faut penser à parcourir chaque site du réseau si des données ont été enregistrées par site plutôt qu'au niveau du réseau.
- Ce fichier n'est exécuté que si l'utilisateur choisit « Supprimer » depuis l'écran des extensions après une désactivation préalable ; une simple suppression manuelle des fichiers par FTP ne le déclenche jamais.
- Certaines extensions choisissent délibérément de ne rien supprimer automatiquement et proposent plutôt un réglage explicite « Supprimer mes données à la désinstallation », laissant ce choix sensible entre les mains de l'utilisateur.
