ACTIVATE_PLUGIN |
Activer le plugiciel |
|---|---|
| PHP | WordPress |
Syntaxe
| function activate_plugin($plugin, $redirect, $network_wide, $silent); |
Paramètres
| Nom | Description |
|---|---|
| $plugin | Ce paramètre permet d'indiquer le chemin vers le fichier plugiciel principale avec les données du plugiciel. |
| $redirect | Ce paramètre permet d'indiquer vers où il faut rediriger le plugiciel. La valeur par défaut est ''. |
| $network_wide | Ce paramètre permet d'indiquer s'il faut activer le plugiciel pour tous les sites dans le réseau ou seulement le site courant. La valeur par défaut «false». |
| $silent | Ce paramètre permet de prévenir les fonctions en crochet de l'activation. La valeur par défaut est «false». |
Description
Cette fonction permet d'effectuer l'activation d'un plugiciel dans un «sandbox» et effectue une redirection en cas de succès.
Remarques
- Rôle et définition de la fonction : La fonction activate_plugin() est utilisée pour activer un plugiciel WordPress de manière programmatique. Elle est particulièrement utile dans les scripts de personnalisation, les plugiciels nécessitant l'activation d'un autre plugiciels, ou encore lors de l'installation automatique de plugiciels via un thème ou un cadre d'application.
- Différence avec activate_plugins() : Il ne faut pas confondre activate_plugin() avec activate_plugins(). La première active un seul plugiciel, tandis que activate_plugins() permet d'activer plusieurs plugiciels à la fois en passant un tableau de plugiciels.
- Gestion des erreurs et retour de valeur : Si l'activation échoue (par exemple si le plugiciels a un bogue dans son code), activate_plugin() déclenche une erreur de type WP_Error sauf si $silent est défini sur true. Pour gérer l'erreur, on peut utiliser :
- Utilisation avec les plugiciels obligatoires : Cette fonction est souvent utilisée dans des plugiciels "must-use" ou des cadres d'applications pour s'assurer que des dépendances sont bien activées avant l'exécution du code. Exemple :
- if (!is_plugin_active('woocommerce/woocommerce.php')) {
- activate_plugin('woocommerce/woocommerce.php');
- }
- Activation en mode Multisite : Lorsque WordPress est en mode Multisite, activate_plugin() n'active le plugiciel que pour un seul site. Si l'on veut l'activer pour tous les sites du réseau, il faut passer $network_wide = true, mais l'utilisateur doit avoir les permissions suffisantes :
- if (is_multisite()) {
- activate_plugin('my-plugin/my-plugin.php', '', true);
- }
- Effets secondaires et crochets d'activation : L'activation d'un plugiciel via activate_plugin() exécute automatiquement le hook register_activation_hook(), étant souvent utilisé pour initialiser des paramètres, créer des tables SQL ou configurer des options :
- register_activation_hook(__FILE__, 'my_plugin_install');
- function my_plugin_install() {
- /* Création de tables, ajout d'options, ... */
- }
- Utilisation conjointe avec install_plugin() : Dans certains cas, on souhaite installer et activer un plugiciel immédiatement après l'installation. Une méthode courante est d'utiliser install_plugin(), puis activate_plugin(). Cela est particulièrement utile pour des systèmes automatisés comme les installateurs de thèmes premium :
- $plugin_path = 'my-plugin/my-plugin.php';
- if (!file_exists(WP_PLUGIN_DIR . '/' . $plugin_path)) {
- install_plugin('https://example.com/my-plugin.zip');
- }
- activate_plugin($plugin_path);
Cela permet d'afficher un message explicatif en cas d'échec.
Cela garantit que WooCommerce est bien actif avant d'exécuter un plugiciel qui en dépend.
Sinon, le plugiciel ne sera actif que sur le site courant.
Cela signifie que l'activation déclenche immédiatement tous les processus d'installation définis par le plugiciel.
Cela garantit que le plugiciels est disponible et actif immédiatement après son installation.
Dernière mise à jour : Samedi, le 22 Avril 2017