Получить путь к корневому каталогу WordPress? - PullRequest
49 голосов
/ 01 марта 2010

Как я могу получить путь к корневому каталогу в WordPress CMS?

Ответы [ 12 ]

119 голосов
/ 01 марта 2010

Просмотр нижней части вашего файла wp-config.php в корневом каталоге WordPress позволит вам найти что-то вроде этого:

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

Для примера файла посмотрите здесь:
http://core.trac.wordpress.org/browser/trunk/wp-config-sample.php

Вы можете использовать эту константу, называемую ABSPATH, в других местах ваших сценариев WordPress, и в большинстве случаев она должна указывать на корневой каталог WordPress.

39 голосов
/ 07 февраля 2013

echo ABSPATH; // Здесь показан абсолютный путь WordPress

ABSPATH - это константа, определенная в файле wp-config.php.

23 голосов
/ 01 марта 2010

Примечание. Этот ответ действительно старый, и с тех пор в WordPress все могло измениться.

Я предполагаю, что вам нужно обнаружить корень WordPress из вашего плагина или темы. Я использую следующий код в FireStats для определения корневого каталога WordPress, в котором FireStats установлен плагин 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;
}
7 голосов
/ 26 июля 2012

Это старый вопрос, но у меня есть новый ответ. Эта единственная строка вернет путь внутри шаблона::)

$wp_root_path = str_replace('/wp-content/themes', '', get_theme_root());
5 голосов
/ 08 июля 2014
   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.
5 голосов
/ 19 октября 2013

На этот вопрос есть 2 ответа Url & directory. В любом случае элегантным способом было бы определить две константы для последующего использования.

define (ROOT_URL, get_site_url() );
define (ROOT_DIR, get_theme_root() );
2 голосов
/ 12 июля 2017

Попробуйте эту функцию для получения пути к корневому каталогу:

get_template_directory_uri();
2 голосов
/ 04 мая 2016

Для получения пути вы можете использовать функцию <?php $path = get_home_path(); ?>. Я не хочу просто повторять то, что уже было сказано здесь, но я хочу добавить еще одну вещь:

Если вы используете сервер Windows, что является редким случаем для установки WordPress, но все же иногда происходит, вы можете столкнуться с проблемой с выходом пути. Возможно, где-то пропущен знак "\", и вы получите ошибку, если будете использовать такой путь. Поэтому при выводе убедитесь, что путь очищен:

<?php 

$path = get_home_path(); 
$path = wp_normalize_path ($path);

// now $path is ready to be used :)

?>
2 голосов
/ 28 октября 2013

Я думаю, что это поможет:

function get_wp_installation()
{
    $full_path = getcwd();
    $ar = explode("wp-", $full_path);
    return $ar[0];
}
1 голос
/ 14 июля 2016

путь к корневому каталогу темы

 <?php $root_path = get_home_path(); ?> 
print "Path: ".$root_path;

Вернуть «Путь: / var / www / htdocs /» или «Путь: / var / www / htdocs / wordpress / "если это подпапка

Theme Root Path

 $theme_root = get_theme_root();
 echo $theme_root

Результаты: - / home / user / public_html / wp-content / themes

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...