包括来自其他插件的文件或库

时间:2013-04-25 作者:Donovan

我正在创建一个插件,我想使用其他不同的插件。这个插件声明类和函数。因此,我正在考虑从一个插件中,将php文件包含在另一个插件中的最佳方法。

我认为这应该奏效:

require_once WP_PLUGIN_DIR . "/the-other-plugin/required-file.php";
但我不确定;这是一个好的解决方案吗?我认为即使the-other-plugin 未启用,这可能不是一个好主意。

这也可以通过使用Must Use Plugins. 这是一种最佳做法,还是另一种解决方案更好?

1 个回复
SO网友:fuxia

在您的插件中添加自定义操作,以便在基本代码完成工作后启动其他插件:

// load basic classes
do_action( \'my_library_loaded\', plugin_dir_path( __FILE__ ) );
其他插件现在可以像这样开始工作:

add_action( \'my_library_loaded\', \'other_plugin_init_handler\' );
如果你的基本插件没有激活,他们将永远不会做任何事情。

另一个插件的start函数现在作为参数获取正确的路径:

function other_plugin_init_handler( $base_path )
{
    require_once $base_path . \'classes/Template_Handler.php\' );

    $template = new Template_Handler;
}
您还可以在基本插件中提供自定义类加载函数。这里的基本思想是:不要让其他插件猜测路径。

结束

相关推荐