如何获取插件文件夹的路径或根,而不是文件或目录?

时间:2021-08-24 作者:Milosh N.

我想将一个文件从插件根目录包含到插件文件夹的某个位置。文件夹结构:

/plugin
  /folder <- Can\'t \'esacpe\' from this folder to root
    /otherfolder
      /req-file-to-here.php // fetch here
  /req-file-from-here.php // send from here
要在文件中准确键入的内容req-file-to-here.php ?我尝试过这样的事情:

require plugin_dir_path( __FILE__ ) . \'..path to file\';

require plugin_dir_path( __DIR__ ) . \'..path to file\';

不工作。帮助:)

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

定义一个存储插件根路径的常量怎么样?

Define path constant

为了调用大量文件,有时可以方便地定义常量:

define( \'MY_PLUGIN_PATH\', plugin_dir_path( __FILE__ ) );
include( MY_PLUGIN_PATH . \'includes/admin-page.php\');
include( MY_PLUGIN_PATH . \'includes/classes.php\');
// etc.
-参见https://developer.wordpress.org/reference/functions/plugin_dir_path/#comment-491

因此,在主插件文件中:

define( \'MY_PLUGIN_PATH\', plugin_dir_path( __FILE__ ) );
然后进来folder/otherfolder/req-file-to-here.php, 执行:

require MY_PLUGIN_PATH . \'req-file-from-here.php\';
或者,您可以只定义主插件文件的路径:

define( \'MY_PLUGIN_FILE\', __FILE__ );
然后进来folder/otherfolder/req-file-to-here.php, 执行:

require plugin_dir_path( MY_PLUGIN_FILE ) . \'req-file-from-here.php\';