我会鼓励你不要这样做,但我理解你想做什么,我自己也会做类似的事情。
我是如何做的,我构建了依赖于插件的主题,依赖于插件的插件,以及依赖于依赖于其他插件的插件的插件。如果我控制着开发的两面,我会把事情分成两部分。。。
在插件中,其他东西需要它:
add_filter( \'my-cool-plugin-name-installed\', \'__return_true\' );
在需要其他插件的插件/主题中:
if ( ! apply_filters( \'my-cool-plugin-name-installed\', false ) )
add_action( \'admin_notices\', \'my-cool-plugin-name_not_installed\' );
然后我加上一个明亮的“;请安装我的超级酷插件;注意,在管理屏幕的顶部有一个指向下载页面的链接。
这为我提供了一种可靠的方法来检查我的依赖项是否存在并已安装。如果插件已安装但未激活,则仍会显示警告。
另一种方式@tollmanz已经推荐了另一种选择。我不会复制粘贴他的解决方案,但检查依赖插件的核心功能是否存在是确保它存在的一个好方法。
同样,如果插件已安装但处于非活动状态,此路由将仅检测其是否处于活动状态。
为什么我这样做首先,我不喜欢其他人的工具把多余的东西下载到我的网站上。所以我不会把这种模式强加给其他用户。相反,我会提示他们下载额外的代码并将其指向正确的方向。一种更简洁的方法是与自动安装程序配合,这样他们只需单击一下就可以下拉插件。
此外,我的代码的一些用户所在的服务器无法使用一键式安装程序(或自动下载)。他们必须通过FTP插件来安装,所以一个无声的下载和激活依赖系统根本无法工作。
最后,如果您使用的是其他人的代码,您对他们何时发布新版本、是否引入错误或if they\'re hacked. 所以,不要自动安装您不能声称对其负责的代码。