使用require()更好地路径文件的方法

时间:2012-07-15 05:16:28

标签: php include require-once

require( dirname(dirname(dirname(dirname(dirname(dirname(dirname( __FILE__ ))))))).'/wp-load.php' );

这是我目前正在使用的代码。 代码位于名为config.php

的文件中

这是结构:

的wordpress \可湿性粉剂内容\主题\\插件\简码-最终\ lib中\ config.php中

我需要达到“wordpress / wp-load.php”。

get_bloginfo()在config.php中不起作用 我怎么能以更简单的方式包含它?

3 个答案:

答案 0 :(得分:1)

在脚本的早期某处将wordpress的完整路径添加到您的包含路径,然后我们为您的所有包含添加“简短”版本:

set_include_path("/path/to/wordpress" . DIRECTORY_SEPERATOR . get_include_path());
...
require("wp-load.php");

请注意,您还应检查路径并查看它是否符合您的预期。 wordpress目录已经位于您的路径中的某个位置并且该问题是领先的/,(请注意路径"/wp-load.php" 非常不同来自"wp-load.php"

另请注意,“/ path / to / wordpress”也可以是相对的。

答案 1 :(得分:1)

有什么问题
require("../../../../../../wp-load.php");

并且,你真的是说你的插件位于一个主题中吗?

答案 2 :(得分:0)

我做了一些事情来获得找到wp-load.php所需的../量(至少如果你的代码在wp内容中):

$current = preg_split('/\//', preg_split('/wp-content/', getcwd())[1]);
$line = '';
foreach($current as $dots) {
    $line .='../';
}
require($line.'wp-load.php');