Je suis en train de mettre en place un réseau multisite (potentiellement) important, et je cherche à rendre aussi facile que possible maintenant l'ajout et la configuration de sites en cas de besoin. Je suis actuellement à la phase où je traite des plugins.
Avec multisite, je connais plusieurs façons d'activer les plugins
- Mettez le plugin
/plugins
, activez-le sur chaque site de manière individuelle - Mettez le plugin
/plugins
dedans, utilisez 'network activate' pour l'activer sur tous les sites - Mettez le plugin
/mu-plugins
, activé automatiquement sur chaque site
Maintenant, je joue avec les paramètres et je veux activer Akismet sur tous les sites sauf un ou deux. Je pensais que je serais en mesure d'activer le plugin en réseau puis de le désactiver sur un seul site, mais je ne suis pas en mesure de le faire - si j'utilise l'activation du réseau, il n'y a que l'option de `` désactivation du réseau '' - qui désactive le plugin sur tous les sites.
Existe-t-il un moyen d'activer les fonctionnalités pratiques du réseau tout en ayant la possibilité de désactiver les plug-ins site par site?
mu-plugins
et fonctionne comme un rêve!if ( isset($value['akismet/akismet.php']) ) { unset($value['akismet/akismet.php']); }
Ce plugin: http://firestats.cc/wiki/WPMUPluginCommander
contourne les éléments d'activation du réseau et fait le sien. et vous permet de désactiver le plugin site par site.
Mise à jour: il semble que ce plugin casse le plugin de balises à l'échelle du site, alors soyez prudent avant d'essayer sur un réseau de production.
la source
Voici ce qui a fonctionné pour moi pour désactiver un plugin pour un thème particulier sur une installation multisite / multithème. J'ai ajouté ces quelques lignes en haut du fichier functions.php dans mon thème:
la source
init
comme @GDR.Les plugins actifs sont stockés dans les options wp_ [blog_id] _ dans les champs 'active_plugins' et 'active_sitewide_plugins' dans wp_ [blog_id] _sitemeta. Ce sont des champs sérialisés, ne les modifiez donc que si vous savez ce que vous faites.
Jetez également un œil à wp-admin \ plugin.php. Il devrait être possible d'écrire un plugin qui fera ce que vous voulez en utilisant les fonctions déclarées ici, par exemple is_plugin_active () et activate_plugin ().
Cependant, je suppose que vous maîtrisez PHP, ce qui n'est peut-être pas le cas.
la source
Les réponses de sorich87 et user33465 ne fonctionnaient pas pour moi avec Wordpress 4.3. L'ajout de ceci à functions.php du thème a fonctionné:
la source
Pas tout de suite dans WP 3, mais il serait possible, je pense, de remplacer l'option en utilisant les filtres option_ *.
En outre, il serait préférable que vous ajoutiez la suggestion en tant que demande de fonctionnalité dans core.trac.wordpress.org.
la source
La meilleure façon de gérer tous les plugins dans le réseau multisite est "Plugin Commander" que vous pouvez trouver ici: http://wordpress.org/extend/plugins/plugin-commander/
la source
J'ai réussi à désactiver le plugin mais il était toujours là sur le panneau du site principal. La seule solution que j'ai trouvée pour le supprimer complètement du site principal était de vérifier le main.php du plugin du site et de le désactiver en fonction de celui-ci:
la source