Ricerca…


introduzione

Ottieni il percorso assoluto del filesystem nella root dell'installazione di WordPress.

Parametri

Parametro Dettagli
Nessuna Questa funzione non accetta alcun parametro.

Osservazioni

Differenza importante tra get_home_path() e ABSTPATH

Tieni presente la differenza tra ABSPATH e get_home_path() se WordPress è installato in una sottocartella.

La funzione get_home_path() restituirà sempre un percorso senza la sottocartella:

Questo è il modo in cui differisce da ABSPATH , che restituirà valori diversi:

ABSPATH è definito per la prima volta in wp-load.php che si trova in /var/www/htdocs/example/wp/wp-load.php quindi da qui ABSPATH prenderà la sua definizione.

get_home_path() controlla se site_url e home_url differiscono e rimuove la sottostringa dal percorso. Altrimenti restituisce il valore 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 );
}

Usandolo nel tuo codice

La chiamata a get_home_path() deve essere eseguita in un contesto in cui wp-admin/includes/file.php è già stato incluso.

Ad esempio, utilizzando get_home_path() all'interno admin_init va bene, ma usarlo all'interno di init non lo è e causerà un errore fatale di PHP:

Call to undefined function get_home_path()

Questo file viene incluso solo all'interno del contesto di amministrazione (dashboard), se ne hai assolutamente bisogno al di fuori di questo contesto dovrai includere il file te stesso prima di chiamare la funzione:

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

uso

$path = get_home_path();

Valore di ritorno:

string

Percorso completo del file system alla radice dell'installazione di WordPress, anche se è installato in una sottocartella.

Esempio:

/var/www/htdocs/example



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow