问题描述

如何检索 WordPress CMS 中根目录的路径?

最佳解决方案

我猜你需要从插件或主题中检测出 WordPress 的根目录。我在 FireStats 中使用以下代码来检测 FireStats 安装了 WordPress 插件的根 WordPress 目录。

function fs_get_wp_config_path()
{
    $base = dirname(__FILE__);
    $path = false;

    if (@file_exists(dirname(dirname($base))."/wp-config.php"))
    {
        $path = dirname(dirname($base))."/wp-config.php";
    }
    else
    if (@file_exists(dirname(dirname(dirname($base)))."/wp-config.php"))
    {
        $path = dirname(dirname(dirname($base)))."/wp-config.php";
    }
    else
    $path = false;

    if ($path != false)
    {
        $path = str_replace("\", "/", $path);
    }
    return $path;
}

次佳解决方案

看看你的 wp-config.php 文件在 wordpress 根目录的底部将让你找到这样的东西:


if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');

对于一个示例文件,请看这里:http://core.trac.wordpress.org/browser/trunk/wp-config-sample.php

你可以在你的 wordpress 脚本的其他地方使用这个常数叫做 ABSPATH,在大多数情况下,它应该指向你的 wordpress 根目录。

第三种解决方案

echo ABSPATH; //这显示了 WordPress 的绝对路径

ABSPATH 是在 wp-config.php 文件中定义的常量。

第四种方案

这是一个老问题,但我有一个新的答案。这一行将返回模板中的路径::)

$wp_root_path = str_replace('/wp-content/themes', '', get_theme_root());

第五种方案

这个问题有两个答案 Url&目录。无论哪种方式,优雅的方式是定义两个常量供以后使用。

define (ROOT_URL, get_site_url() );
define (ROOT_DIR, get_theme_root() );

第六种方案

   Please try this for get the url of root file.

第一道:

 $path = get_home_path();
   print "Path: ".$path;
// Return "Path: /var/www/htdocs/" or

// "Path: /var/www/htdocs/wordpress/" if it is subfolder

第二种方式

And you can also use

    "ABSPATH"

this constant is define in wordpress config file.

第七种方案

我认为这会做的诀窍:

function get_wp_installation()
{
    $full_path = getcwd();
    $ar = explode("wp-", $full_path);
    return $ar[0];
}

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。