這個外掛並未在最新的 3 個 WordPress 主要版本上進行測試。開發者可能不再對這個外掛進行維護或提供技術支援,並可能會與更新版本的 WordPress 產生使用上的相容性問題。

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 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.

螢幕截圖

  • Activation prevention
  • Cascade deactivation

常見問題

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.

評價

2016年10月8日
This plugin — with its companion Known Plugin Dependencies — offers basic, and that is to say: robust — plugin dependency information and handling. This core functionality is missing from WP Core, unfortunately. I’ve seen plugin developers role out all kinds of dependency notification mechanisms on their own, which would not be needed, if this — or something very similar to this — were to become part of WP Core. Of course, there is the TGM Plugin Activation library out there, which may look like the real deal. But then, for a simple dependency notification in a simple plugin, this would seem way too complex and unnecessary. So, where can I vote for this? P.S.: Would one of the devs care to update the compatibility info in the read-me file?
2016年9月3日
This plugin should be WordPress core functionality. Thanks
閱讀全部7個評價

貢獻者及開發者

“Plugin Dependencies” 是一個開源的軟體。以下的人對這個外掛作出了貢獻。

貢獻者

將 Plugin Dependencies 外掛本地化為台灣繁體中文版。

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄

修改日誌

1.3

  • Add Dependency Loader class. Props kucrut.

  • Make it work with bulk actions. Props jrf.

    • Usability: Remove bulk action checkboxes for plugins with unsatisfied dependencies on single site plugins page within a network. Props jrf.
  • Guard dependencies even when a plugin is (de)activated outside of the plugins page context. Props jrf.

  • Fix compatibility with multi-site. Props jrf.

    • New: Show dependencies in the network admin plugins page.
    • Bug fix: network activated plugins were not recognized (at all) and deactivating one would throw PHP notices.
    • Bug fix: network activation action was not correctly unset if dependencies were not met (WP 3.4+).
    • Bug fix: network deactivation would only check dependencies for the network and the main site, not for the other sites in the network
    • Improved: logic for recognizing whether dependencies have been satisfied.
    • Usability: On single site plugin page in a multisite network: added a “network” textual indicator for dependencies which were met by a network activated plugin.
    • Usability: On single site plugin page in a multisite network: the required plugin names now only link to the plugin if the current user can activate that plugin.
    • Usability: Improved information to single site admins when dependent plugins have been deactivated because a required plugin has been network deactivated – show all deactivated plugins since last admin login, not just what happened in the last change round.
    • Usability: Notifications about deactivated plugins are now shown on any admin page which will help admins notice changes made by this plugin earlier in case of a network deactivation. Props jrf.
  • Clean up coding standards. Props kucrut, jrf.

  • Improve style of plugin dependency notices. Props jrf.
  • Usability: Add plugins deactivated by this plugin to the ‘recently active’ plugins list. Props jrf.
  • Add Dutch translation. Props jrf.

1.2.1

1.2

  • added ability to use plugin names as dependencies
  • more info

1.1

  • added ‘Provides:’ header
  • replaced ‘Dependencies:’ with ‘Depends:’
  • more info

1.0.1

  • fixed critical bug when not running MultiSite
  • better network activation handling

1.0