Szukaj…


Wprowadzenie

Uzyskaj bezwzględną ścieżkę systemu plików do katalogu głównego instalacji WordPress.

Parametry

Parametr Detale
Żaden Ta funkcja nie akceptuje żadnych parametrów.

Uwagi

Ważna różnica między get_home_path() i ABSTPATH

Należy pamiętać o różnicy między ABSPATH a get_home_path() jeśli WordPress jest zainstalowany w podfolderze.

Funkcja get_home_path() zawsze zwraca ścieżkę bez podfolderu:

W ten sposób różni się od ABSPATH , który zwróci różne wartości:

ABSPATH jest po raz pierwszy zdefiniowany w wp-load.php który będzie umieszczony na /var/www/htdocs/example/wp/wp-load.php stąd ABSPATH zacznie swoją definicję.

get_home_path() sprawdza, czy site_url i home_url różnią się, i usuwa podciąg ze ścieżki. W przeciwnym razie zwraca wartość 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 );
}

Używanie go w kodzie

Wywołanie get_home_path() musi być wykonane w kontekście, w którym wp-admin/includes/file.php został już uwzględniony.

Na przykład użycie get_home_path() w haczyku admin_init jest w porządku, ale użycie go w init nie jest i spowoduje krytyczny błąd PHP:

Call to undefined function get_home_path()

Ten plik jest dołączany tylko w kontekście administratora (deski rozdzielczej), jeśli absolutnie potrzebujesz go poza tym kontekstem, musisz sam go dołączyć przed wywołaniem funkcji:

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

Stosowanie

$path = get_home_path();

Zwracana wartość:

string

Pełna ścieżka systemu plików do katalogu głównego instalacji WordPress, nawet jeśli jest on zainstalowany w podfolderze.

Przykład:

/var/www/htdocs/example



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow