WordPress
get_home_path ()
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:
- http://www.example.com - / var / www / htdocs / exempel
- http://www.example.com/wp - / var / www / htdocs / exempel
Så här skiljer det sig från ABSPATH
, vilket ger olika värden:
- http://www.example.com - / var / www / htdocs / exempel
- http://www.example.com/wp - / var / www / htdocs / exempel / wp
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