Sök…


Introduktion

Få den absoluta filsystemvägen till roten till WordPress-installationen.

parametrar

Parameter detaljer
Ingen Denna funktion accepterar inga parametrar.

Anmärkningar

Viktig skillnad mellan get_home_path() och ABSTPATH

Kom ihåg skillnaden mellan ABSPATH och get_home_path() om du har WordPress installerat i en undermapp.

get_home_path() returnerar alltid en sökväg utan undermappen:

Så här skiljer det sig från ABSPATH , vilket ger olika värden:

ABSPATH definieras först i wp-load.php som kommer att lokaliseras på /var/www/htdocs/example/wp/wp-load.php och det är här ABSPATH tar sin definition från.

get_home_path() kontrollerar om site_url och home_url skiljer sig och tar bort substrängen från sökvägen. Annars returnerar det ABSPATH värdet:

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 );
}

Använd den i din kod

Ringa get_home_path() måste göras i ett sammanhang där wp-admin/includes/file.php redan har inkluderats.

Att använda get_home_path() i admin_init kroken är till exempel bra, men att använda den inom init är inte och kommer att resultera i ett PHP-dödligt fel:

Call to undefined function get_home_path()

Den här filen inkluderas endast från admin (dashboard) -sammanhanget, om du absolut behöver den utanför detta sammanhang måste du inkludera filen själv innan du anropar funktionen:

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

Användande

$path = get_home_path();

Returvärde:

string

Fullständig filsystemväg till roten till WordPress-installationen, även om den är installerad i en undermapp.

Exempel:

/var/www/htdocs/example



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow