如何获取wp include目录?

问题描述

| 我需要为wp插件开发执行require_once。在我看来,我需要使用绝对路径。 我当前的解决方案是
$delimiter = strpos(dirname(__FILE__),\"/\")!==false?\"/\":\"\\\\\"; //win or unix?
$path = explode($delimiter,dirname(__FILE__));

require_once join(array_slice($path,count($path)-3),$delimiter) . \"/wp-admin/includes/plugin.PHP\"; 
我想知道是否有更好的方法来处理这种通用方法。 如果wp插件目录结构更改了怎么办。因此,ѭ1部分将不再有效...。     

解决方法

        尝试:
require_once realpath(__DIR__.\'/../../..\').\'/wp-admin/includes/plugin.php\';
如果您使用的是
dirname(__FILE__)
替换
__DIR__
或者您可以尝试:
require_once ABSPATH . WPINC . \'/plugin.php\';
    ,        WordPress在启动时会建立包含目录的路径。
require_once ABSPATH . WPINC . \'/your-file.php\';
    ,        可以利用WP_CONTENT_DIR并制作一个不错的常量
define(WP_INCLUDE_DIR,preg_replace(\'/wp-content$/\',\'wp-includes\',WP_CONTENT_DIR));
或功能
function wp_include_dir(){
    $wp_include_dir = preg_replace(\'/wp-content$/\',WP_CONTENT_DIR));
    return $wp_include_dir;
}
    ,        您是否尝试过执行bloginfo(\'wpurl \')/ wp-content / plugins?     ,        我曾经将它定义为一个常量,就像其他常量一样。
if(defined(\'WP_CONTENT_DIR\') && !defined(\'WP_INCLUDE_DIR\')){
   define(\'WP_INCLUDE_DIR\',str_replace(\'wp-content\',WP_CONTENT_DIR));
}
如果需要,仍然可以用with10ѭ检查并进一步移动。