Lorsque nous parlons de plugins installés sur un réseau WordPress multisite, certains plugins peuvent être activés pour être utilisés sur l'ensemble du réseau, tandis que d'autres ne peuvent être activés que sur un seul site spécifique.
![Image [1] - Guide pour vérifier l'état d'activation des plugins WordPress dans les réseaux multisites - Photonwave.com | Service professionnel de réparation de WordPress, portée mondiale, réponse rapide](https://www.361sale.com/wp-content/uploads/2024/03/image-119-1024x576.png)
Plug-ins activés par le réseau :
![Image [2] - Guide pour vérifier l'état d'activation des plugins WordPress dans les réseaux multisites - Photonwave.com | Service professionnel de réparation de WordPress, portée mondiale, réponse rapide](https://www.361sale.com/wp-content/uploads/2024/03/image-117.png)
Le même plugin activé pour un site spécifique :
![Image [3] - Guide pour vérifier l'état d'activation des plugins WordPress dans les réseaux multisites - Photonwave.com | Service professionnel de réparation de WordPress, portée mondiale, réponse rapide](https://www.361sale.com/wp-content/uploads/2024/03/image-118.png)
Comprendre comment cela fonctionne ne devrait pas être trop difficile, mais nous pouvons rencontrer des problèmes lorsque nous essayons de vérifier dans le code si un plugin est activé pour l'ensemble du réseau ou seulement pour un site spécifique.
Il existe de nombreuses façons d'y parvenir, chacune ayant ses propres caractéristiques.
is_plugin_active_for_network()
Si un plugin est activé pour l'ensemble du réseau, cette fonction renverra true (vrai). Par exemple, si nous utilisons cette fonction sur le site 1 et que notre plugin n'est activé que sur le site 1 et qu'il n'est pas configuré pour être activé sur l'ensemble du réseau, cette fonction renverra false (faux).
if( is_plugin_active_for_network( 'woocommerce/woocommerce.php' ) ) {
// WooCommerce est activé par le réseau.
} else {
// WooCommerce n'est pas activé par le réseau.
}
is_plugin_active()
Cette fonction est utile parce qu'elle a deux fonctions :
- Il vérifiera si le plugin est activé uniquement sur le site que vous utilisez actuellement.
- Il vérifie également si le plugin est configuré pour être actif sur le réseau.
Retourne true (vrai) si au moins une de ces deux conditions est remplie.
if( is_plugin_active( 'woocommerce/woocommerce.php' ) ) {
// WooCommerce est soit activé sur ce site spécifique, soit activé par le réseau.
) { // WooCommerce est soit activé sur ce site spécifique, soit activé par le réseau.
Soyez assuré que cette fonction est également sûre dans les environnements de réseau non multisites.
Vérifier si le plugin n'est actif que sur un site spécifique
Comme cette fonctionnalité n'est pas disponible dans le noyau de WordPress, je vous propose le code personnalisé suivant :
if( in_array( $plugin, (array) get_option( 'active_plugins', array() ) ) {
}
Vous pouvez vérifier des sites spécifiques dans un réseau multisite, mais n'oubliez pas d'indiquer l'adresse du site. $blog_id répondre en chantant $plugin Variables.
switch_to_blog( $blog_id ).
if( in_array( $plugin, (array) get_option( 'active_plugins', array() ) ) {
}
restore_current_blog() ;
Vérifier sur quels sites un plugin spécifique (dans notre cas WooCommerce) est actif :
$sites = get_sites() ;
foreach( $sites as $site ) {
switch_to_blog( $site->blog_id ) ;
if( in_array( 'woocommerce/woocommerce.php', (array) get_option( 'active_plugins', array() ) ) {
echo "WooCommerce est actif sur {$site->nomdublog}" ;
}
restore_current_blog() ; }
résumés
En bref, que vous utilisiezis_plugin_active()néanmoinsis_plugin_active_for_network()Dans les deux cas, WordPress vérifie les plugins activés dans les options du site :
![Image [4] - Guide pour vérifier l'état d'activation des plugins WordPress dans les réseaux multisites - Photonwave.com | Service professionnel de réparation de WordPress, portée mondiale, réponse rapide](https://www.361sale.com/wp-content/uploads/2024/03/image-120-1024x281.png)
Ne vous inquiétez pas de surcharger la base de données, car ces options se chargeront automatiquement et si vous utilisez l'optionis_plugin_active()il ne vérifiera qu'à partir d'une variable globale.
Les valeurs des options dans la base de données sont en fait un tableau sérialisé, comme le suivant :
![Image [5] - Guide pour vérifier l'état d'activation des plugins WordPress dans les réseaux multisites - Photonwave.com | Service professionnel de réparation de WordPress, portée mondiale, réponse rapide](https://www.361sale.com/wp-content/uploads/2024/03/image-121.png)
Lien vers cet article :https://www.361sale.com/fr/6236L'article est protégé par le droit d'auteur et doit être reproduit avec mention.






















![Emoji[wozuimei]-Photonflux.com | Service professionnel de réparation de WordPress, dans le monde entier, réponse rapide](https://www.361sale.com/wp-content/themes/zibll/img/smilies/wozuimei.gif)
![Émoticône [baoquan] - Photon Wave Network | Services professionnels de réparation WordPress, couverture mondiale, réponse rapide](https://www.361sale.com/wp-content/themes/zibll/img/smilies/baoquan.gif)

Pas de commentaires