如何获取wp include目录?

Rad*_*dek 4 php wordpress

我需要为我的wp插件开发做require_once.在我看来,我需要使用绝对路径.

我目前的解决方案是

$delimiter = strpos(dirname(__FILE__), "/")!==false?"/":"\\"; //win or unix?
$path = explode($delimiter,  dirname(__FILE__));

require_once join(array_slice($path,0,count($path)-3),$delimiter) . "/wp-admin/includes/plugin.php"; 
Run Code Online (Sandbox Code Playgroud)

我想知道是否有更好的方法来处理这种,一种通用的方法.

如果wp插件目录结构发生了变化,该怎么办?所以这部分count($path)-3将不再有效....

小智 21

WordPress在启动时建立包含目录的路径.

require_once ABSPATH . WPINC . '/your-file.php';


Pet*_*tah 7

尝试:

require_once realpath(__DIR__.'/../../..').'/wp-admin/includes/plugin.php';
Run Code Online (Sandbox Code Playgroud)

或更换__DIR__dirname(__FILE__),如果你在<PHP 5.3

或者你可以尝试:

require_once ABSPATH . WPINC . '/plugin.php';
Run Code Online (Sandbox Code Playgroud)