Поиск…


Вступление

Получите абсолютный путь файловой системы к корню установки WordPress.

параметры

параметр подробности
Никто Эта функция не принимает никаких параметров.

замечания

Важное различие между get_home_path() и ABSTPATH

Обратите внимание на разницу между ABSPATH и get_home_path() если у вас установлен WordPress во ABSPATH get_home_path() .

Функция get_home_path() всегда возвращает путь без подпапки:

Вот как он отличается от ABSPATH , который будет возвращать разные значения:

ABSPATH сначала определяется в wp-load.php который будет расположен по адресу /var/www/htdocs/example/wp/wp-load.php поэтому здесь ABSPATH примет свое определение.

get_home_path() проверяет, отличаются ли параметры site_url и home_url , и удаляет подстроку из пути. В противном случае возвращается значение ABSPATH :

function get_home_path() {
    $home    = set_url_scheme( get_option( 'home' ), 'http' );
    $siteurl = set_url_scheme( get_option( 'siteurl' ), 'http' );
    if ( ! empty( $home ) && 0 !== strcasecmp( $home, $siteurl ) ) {
        $wp_path_rel_to_home = str_ireplace( $home, '', $siteurl ); /* $siteurl - $home */
        $pos = strripos( str_replace( '\\', '/', $_SERVER['SCRIPT_FILENAME'] ), trailingslashit( $wp_path_rel_to_home ) );
        $home_path = substr( $_SERVER['SCRIPT_FILENAME'], 0, $pos );
        $home_path = trailingslashit( $home_path );
    } else {
        $home_path = ABSPATH;
    }

    return str_replace( '\\', '/', $home_path );
}

Использование этого кода

Вызов get_home_path() должен выполняться в контексте, в котором wp-admin/includes/file.php уже включен.

Например, использование get_home_path() в admin_init отлично, но использование его внутри init не является и приведет к фатальной ошибке PHP:

Call to undefined function get_home_path()

Этот файл включается только из контекста admin (dashboard), если вы абсолютно нуждаетесь в нем вне этого контекста, вам нужно будет включить файл непосредственно перед вызовом функции:

require_once(ABSPATH . 'wp-admin/includes/file.php');

использование

$path = get_home_path();

Возвращаемое значение:

string

Полный путь файловой системы к корню установки WordPress, даже если он установлен во вложенной папке.

Пример:

/var/www/htdocs/example



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow