Plugin Dependencies
This meta-plugin allows regular plugins to specify other plugins that they depend upon. Example: /* Plugin Name: BuddyPress Debug Depends: BuddyPress, Debug Bar */ What this does: Disables activation of BuddyPress Debug until both BuddyPress and Debug Bar are already activated. When either BuddyPres
About this tool.
This meta-plugin allows regular plugins to specify other plugins that they depend upon.
Example:
/* Plugin Name: BuddyPress Debug Depends: BuddyPress, Debug Bar */
What this does:
- Disables activation of BuddyPress Debug until both BuddyPress and Debug Bar are already activated.
- When either BuddyPress or Debug Bar are deactivated, BuddyPress Debug will also be deactivated.
= Enriching dependency information = Unfortunately, very few plugins currently contain dependency information. If you’d like to enhance the information available to this plugin, you might want to install the Known Plugin Dependencies plugin which acts as an add-on to this one.
Links: Plugin News | Author’s Site
Development of this plugin is done on GitHub . Pull requests welcome. Please see issues reported there before going to the plugin forum.
Screenshots & previews.
Frequently asked questions.
Error on activation: “Parse error: syntax error, unexpected…”
Make sure your host is running PHP 5. The only foolproof way to do this is to add this line to wp-config.php (after the opening <?php tag):
var_dump(PHP_VERSION);
What happens if a user doesn’t have Plugin Dependencies installed?
Nothing. The Depends: header will simply be ignored.
Can I have grand-child plugins?
Yes, the dependency chain can go as deep as you want.
Defining virtual packages
Say you have some useful functions that you would like to package up as a library plugin:
/* Plugin Name: Facebook Lib Provides: lib-facebook */
Now, dependant plugins can specify ‘lib-facebook’ as a dependency:
/* Plugin Name: Cool Facebook Plugin Depends: lib-facebook */
Besides being more robust, the Provides: header allows multiple plugins to implement the same set of functionality and be used interchangeably.