Guide pour vérifier l'état d'activation des plugins WordPress dans les réseaux multisites

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

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

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

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 :

  1. Il vérifiera si le plugin est activé uniquement sur le site que vous utilisez actuellement.
  2. 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

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

Contactez nous
Vous n'arrivez pas à lire le tutoriel ? Contactez-nous pour une réponse gratuite ! Aide gratuite pour les sites personnels et les sites de petites entreprises !
Service clientèle WeChat
Service clientèle WeChat
Tel : 020-2206-9892
QQ咨询:1025174874
(iii) Courriel : info@361sale.com
Horaires de travail : du lundi au vendredi, de 9h30 à 18h30, jours fériés.
© Déclaration de reproduction
Cet article a été rédigé par Harry
LA FIN
Si vous l'aimez, soutenez-le.
félicitations0 partager (joies, avantages, privilèges, etc.) avec les autres
commentaires achat de canapé

Veuillez vous connecter pour poster un commentaire

    Pas de commentaires