Tonight, I sat down and modified an old script I’d written, turning it into a real WordPress plugin. The plugin is tentatively known as “Plugin Activation Status”, and it’s developed specifically for multisite and multi-network installations of WordPress.
What It Does
This plugin first retrieves a full list of all of the plugins that are network-activated throughout your installation. Then, it loops through all of the sites in your installation, retrieving a list of all of the active plugins on each site. Next, it runs a diff between the full list of installed plugins and the list of all active plugins. Once it retrieves all of that information, it outputs two separate lists. The first list is the list of Inactive Plugins; all plugins that are installed, but not activated anywhere within WordPress will be listed there. The second list shows all of the Active Plugins; all plugins that are installed and activated somewhere within WordPress are shown there. Within the Active Plugins list, each plugin also has a list of all of the places the plugin is active (at the top, a list of all of the places it’s network-active; at the bottom, all of the places it’s normally-activated).
What I Need
Because this plugin has to parse through so much data and run so many queries, I’m sure it’s a real resource hog. I’d love to have as many people as possible test it out on their sites and let me know whether or not it works. To begin with, at least, you’ll want to run it during a low-traffic time. I’ve already run it on UMW’s staging server, which has approximately 40 networks and 250 sites. It worked like a charm there. However, that doesn’t mean it will work like a charm on your installation.
If you do test the plugin, please report back (preferably by commenting on this post) and let me know whether or not it worked. When you report back, please also let me know how many plugins you have installed, how many sites you have, and, if you’re running a multi-network installation, how many networks you have.
How To Use The Plugin
You can install the plugin either by uploading it your mu-plugins folder or by putting it in your plugins folder and network-activating it. Currently, the plugin actively checks whether you’re in the Network Admin area, and whether or not you’re in the network with an ID of 1. If you’re not in Network Admin, or you’re on a network other than the network with an ID of 1, the plugin won’t do anything at all.
If you are in the Network Admin area for the network with an ID of 1 (the default for any normal multisite installation; the default for the “root” network in a multi-network install), the plugin will add a menu item called “Active Plugins” in the “Plugins” menu. Once you go to that page, you’ll see a brief warning about the fact that the plugin could use a lot of resources, followed by a “Continue” button. Once you click the “Continue” button, you’ll see the lists of plugins described above.
Where To Get The Plugin
While it’s still in beta, you can get the plugin right here. Assuming I see enough evidence that it works the way it’s intended, I’ll probably eventually release it in the plugin repository.
Update May 8, 2013: A new version of the plugin has been uploaded (v0.2). If you already installed the previous version (v0.1), you should delete that old copy and install the new version. The plugin file structure changed considerably in preparation for releasing the plugin in the WordPress repository, so trying to install this version of the plugin while the old version is still installed will be pretty messy.
Update May 10, 2013: The plugin has been added to the WordPress plugin repository.