Plugin Lifecycle
Définition : Le cycle de vie d’un plugin WordPress décrit les transitions entre installation, activation, exécution, désactivation et suppression. Chaque phase répond à des besoins différents de configuration, de fonctionnement et de nettoyage.
Terminologie
Terme officiel : Plugin Lifecycle
Autres appellations : Cycle de vie d’une extension, Plugin Lifecycle
À quoi cela sert
Il permet de concevoir une extension réversible : initialiser une configuration à l’activation, exécuter les fonctionnalités durant son utilisation, nettoyer les éléments temporaires à la désactivation et traiter les données persistantes à la désinstallation.
Comment cela fonctionne
WordPress dispose de hooks spécialisés pour l’activation, la désactivation et la désinstallation. Le chargement normal du plugin ne doit pas être assimilé à une nouvelle activation : son fichier principal est inclus lors des requêtes où il est actif.
Dans quel contexte l’utiliser
À documenter dès la conception de tout plugin administrable, surtout lorsqu’il introduit des options, des tâches planifiées, des règles de réécriture ou des données propres.
Exemple concret
Un plugin enregistre une valeur par défaut à l’activation et conserve cette préférence lors d’une simple désactivation.
Exemple de code commenté
<?php
// Fichier PHP principal du plugin.
function atoolpha_cycle_activation() {
add_option( 'atoolpha_demo_couleur', 'bleu', '', false );
}
register_activation_hook( __FILE__, 'atoolpha_cycle_activation' );
function atoolpha_cycle_desactivation() {
// Pas de delete_option() : préserver le réglage utilisateur.
}
register_deactivation_hook( __FILE__, 'atoolpha_cycle_desactivation' );
Explication pas à pas de l’exemple
1. Le hook d’activation inscrit l’option si elle n’existe pas. 2. Le hook de désactivation est volontairement sans suppression : désactiver ne signifie pas supprimer les données. 3. La décision d’effacer les réglages relèverait d’un mécanisme de désinstallation distinct.
Résultat attendu
La préférence d’exemple peut être conservée lors des désactivations et réactivations. Aucun fichier ni table additionnelle n’est créé.
Précautions et limites
Les routines doivent être adaptées au multisite si l’extension y est utilisée. Éviter de déclencher des installations et des nettoyages lourds pendant chaque chargement de page.
À ne pas confondre
Ne pas confondre désactivation et désinstallation ; la suppression des données nécessite une politique et un mécanisme propres.
Termes associés
- register_activation_hook()
- register_deactivation_hook()
- uninstall.php
