我正在开发一个依赖于第二个插件OtherPlugin
的插件。我的插件目录中有一个非主要的PHP文件,需要加载该文件才能在OtherPlugin
中注册钩子。我的问题是此文件似乎没有被加载(错误日志没有被打印并且期望的副作用没有得到执行。)
我尝试使用描述为here的--require='path_to_b.php'
全局参数,但是由于我的类B
继承自OtherPlugin
类{ {1}}:
A
解决方案不能以相反的顺序Fatal error: Class 'A' not found in /var/www/html/wp-content/plugins/myplugin/b.php
遍历整个类层次结构,但是我看不出另一种解决方法。
答案 0 :(得分:0)
在您的情况下,看来B extends A
(A来自otherPlugin),但是在b.php中声明B时,otherPlugin尚未加载文件a.php。
解决方法是在B类声明之前,在require_once('full_path_to_a.php')
的顶部使用b.php
。这将加载a.php,以便A类现在可供B扩展。
您可能需要向包含A类依赖项的其他文件中添加其他require_once
。