Je suis de plus en plus souvent amené à développer sur du WordPress en mode multisite, c’est à dire avec une gestion de blogs multiples. En général, le schéma est le suivant : un site général d’un côté (couplé avec BuddyPress pour les aspects sociaux) et des blogs d’utilisateurs de l’autre côté.
Immanquablement vient alors la question des plugins. On peut être amené à en installer plusieurs pour le fonctionnement du site général, mais on ne veut pas forcément que les utilisateurs puissent avoir également accès à tous ces plugins sur leurs blogs…
Par défaut, WordPress gère deux modes de gestion des plugins : l’activation simple et l’activation sur le réseau. Si vous activez un plugin sur le réseau, il sera alors installé d’office partout, sans possibilité pour les utilisateurs de le désactiver. Cela peut être utile, dans certains cas, mais c’est malheureusement le contraire de ce que l’on voudrait ici ! Quant à l’activation simple, elle permet à chaque utilisateur de choisir quel plugin il désire utiliser sur son blog. En résumé, si vous installez un plugin sur un WordPress multisite, tout le monde y aura accès, soit par obligation, soit par choix.
Par conséquent, pour filtrer les plugins disponibles sur les blogs d’utilisateurs sans avoir à se restreindre sur le site général, il faudra passer par l’installation… d’un plugin.
Si vous travaillez sur une version moderne de WordPress (3.0 ou plus), vous pouvez utiliser le très bon Exclude Plugins, développé par un certain ITX.
Si vous devez faire avec un vieux wpmu (par exemple un 2.9), Exclude Plugins ne pourra rien pour vous, car sa compatibilité ne descend pas jusque là. Mais je ne vais pas vous laisser en plan comme ça. Avec WordPress, on trouve toujours une solution, vous pensez bien. Je vous suggère alors l’installation de Plugin Commander, qui fonctionne à partir de WordPress 2.8. Oh il fonctionne aussi avec les versions plus récentes, mais après avoir testé les deux plugins, je dois vous avouer une nette préférence pour Exclude Plugins (mieux développé, mieux structuré, à mon avis).
Voilà pour l’astuce, c’est cadeau ! J’en profite pour m’excuser auprès de tous ceux qui ont commenté sur ce blog à propos de mes différents plugins. Je peine à trouver le temps de m’en occuper, et donc à vous répondre. J’espère trouver le temps bientôt. Oh, et sinon, j’ai cru comprendre que la prochaine version de WordPress inclurait une fonctionnalité inspirée de Link to Post… A vérifier !
Puisque vous semblez connaître les solutions à plusieurs problèmes, sauriez-vous comment « forcer » certaines configuration de plugin pour les blogues multi-sites? Par exemple, j’ai un plugin pour l’authentification LDAP mais je ne veux pas que tous mes admins aillent à entrer les mêmes configs (nom de serveur, port, etc…). Cependant, je veux qu’ils puissent configurer qui a accès à leur blogue.
Alors, aurais-tu une piste de solution pour moi autre que de « hardcoder » ces config dans le code?
Merci à l’avance