Pourquoi ?
Il est fréquent lors d’un développement sous WordPress de dépendre de la présence une autre extension. Cela arrive précisément lors de la création d’une extension « add-on » d’une autre, ou lors de la conception d’un site web complexe dans lequel plusieurs extensions interagissent entre elles.
Prenons l’exemple du développement d’une logique qui nécessite WooCommerce et MemberPress : un internaute peut acheter un produit uniquement s’il a souscrit un abonnement. Il sera nécessaire de vérifier au préalable que les extensions WooCommerce et MemberPress sont actives, au risque sinon de provoquer une erreur fatale sur le site, notamment au moment des mises à jour de ces dernières.
La solution
Vérifier que le plugin est actif avant l’appel de la fonction.
Un exemple d’implémentation :
Dans ce code, c’est la fonction is_active_plugin
qui nous est intéressante. L’appel à get_option( 'active_plugins' )
permet d’obtenir la liste des extensions actives. Le résultat se présente sous la forme d’un tableau, d’où le foreach
:
Cette vérification pourra être faite à des moments clefs de l’exécution. Par exemple, lors du développement d’une extension A, cela peut être inséré au moment de son initialisation par WordPress : si l’extension requise B n’est pas active, alors l’extension A est désactivée.