Supprimer proprement un plugin WordPress, uninstall.php

Lorsque l’on crée une extension plugin pour wordPress, on est amené à créer des options que l’on stocke dans la table wp_options. On peut aussi créer une ou plusieurs tables en base de données pour faire fonctionner l’extension. Quand un utilisateur active le plugin, ces options et/ou tables sont créées en base de données. Lorsque cette extension est désactivée, ces options et tables reste en base de données, au cas ou l’utilisateur la réactiverait. Mais s’il décide de supprimer, d’effacer l’extension, il faut supprimer ces informations dans la base données. Il y a un fichier magique qui est lancé, s’il existe dans le répertoire racine du plugin, lorsque l’extension est supprimée : uninstall.php.

Logo WP et les textes Plugin et uninstall.php sur fond de parc national Chapada Diamantina dans l'état de Bahia au Brésil

On code donc ce fichier pour effacer les options et supprimer les tables créées par l’extension. On remplit le tableau $options avec les options créées par l’extension, et le tableau $tables par les tables à supprimer. Si ces tableaux sont vides, ce fichier ne fera rien. On teste la définition de la constante WP_UNINSTALL_PLUGIN, cette constante est définie par Wordpress lorsque qu’il invoque le fichier uninstall.php. Cela évitera que le fichier soit lancé dans une autre situation.

uninstall.php

Et hop, avec ce fichier, correctement écrit dans le répertoire racine du plugin, un utilisateur peut supprimer le plugin sans qu’il reste des résidus en base de données.

Soumettre un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables.