Almost every month I get a call, email, web site comment, or see a Facebook thread about WordPress multisite and plugins. It's one of those things that seems a lot harder than it should be. And that's partly because it's clearly not the same as installing a plugin on your regular WordPress site.
But it's also because you have more options, and depending on how those options are set, you can have very different experiences.
It All Starts with Network Admin
When I log into the root of my multisite site, I see a plugins menu. Clicking on that menu will show me all the plugins that are installed for the entire network. This doesn't mean that any particular plugin will be available to one of the sites on the network. It just means it's available.
Why would a plugin not be active on a site if it's installed on the network? Well, it all comes down to how you activated the plugin when you installed it. You see, you have options.
Let's look at this sample plugin I'm installing on the network I use as my WordPress playground (wpadvisor.com).
See that link on the bottom right? “Network Activate” means – make this available to the entire set of sites on this network.
If you click that link, it will install the plugin for all the sites and you'll never see it on a children site's list of plugins. Because it's already live and activated from the root.
If you don't click it, then each site may see it in a list of available plugins they can activate. But that explains the first reason you might think it's disappeared. Network activation will make the plugin available but not visible (on your child site plugin list).
Wacky Wonky Activation
But there's another reason something may go missing or get funky. Sometimes developers code a plugin and run a special script when being activated. Even though that startup script should run for each site on the network if you click on “Network Activate,” it doesn't always work.
Instead, sometimes the plugin developer coded something in a way that it only really activates it on the root site. That sucks! But have no fear, there's a way around it – in the form of a plugin that I've used several times. It's called Proper Network Activation.
What this does is make sure the scripts run across all the sites. So that's reason #2 why your plugins may be doing something funky on a multisite installation. But guess what? There's a third reason you may feel a bit disoriented.
It has to do with your network settings – the settings for your entire WordPress multisite web site.
At the very bottom of this screen, you'll see the option to turn on or off the “Plugins” menu on the child sites. One little check box. But it can make the menu (and plugin list) completely disappear from the child sites and have you running around in circles.
There you have it – reason #3 why plugins can go missing, disappear, or leave you thinking this whole thing is too complex for you. It's not. It really isn't.
Seeing Plugins in WordPress Multisite
So when it works right, it's pretty nice. I run a network site for my testing ground (before writing comparative articles). To do that well, I don't network activate many plugins. And I check the box that let's every site see the plugin menu.
That way every site get's its own plugin screen where I can activate each plugin for that one site. In that way, it's pretty much just like a normal single instance.