我需要使用插件B的一个函数来定制插件A的短代码输出。因此,我通过插入一个条件来检查插件B的函数值来更改插件A的短代码函数,但我需要包含支持此函数的php文件。我尝试了所有require\\u,require和include,但出现以下错误:
使用时require_once(\'../../pluginname/pluginfunctions.php\');
错误警告:require\\u once():open\\u basedir限制生效。文件(../../magicmembers/core/libs/functions/mgm\\u misc\\u functions.php)不在允许的路径内
使用时include(WP_PLUGIN_URL . \'/pluginname/pluginfunctions.php\');
错误警告:include():服务器配置中禁用了URL文件访问
正确的方法是什么?
最合适的回答,由SO网友:pbd 整理而成
第一条错误消息表示,服务器设置的文件包含位置存在限制。你可以试试
require_once ABSPATH . \'/wp-content/plugins/pluginname/pluginfunctions.php\';
但我不确定这是否有效。
对于第二个包含,您试图包含一个URL,该URL因安全原因被服务器禁用。
但是,为什么需要包含插件B的功能?如果插件B存在,这意味着它可能已激活,这反过来意味着您可以直接从插件A使用该功能,而无需专门包含该文件。