WordPress
get_home_path ()
Suche…
Einführung
Holen Sie sich den absoluten Dateisystempfad zum Stammverzeichnis der WordPress-Installation.
Parameter
Parameter | Einzelheiten |
---|---|
Keiner | Diese Funktion akzeptiert keine Parameter. |
Bemerkungen
Wichtiger Unterschied zwischen get_home_path()
und ABSTPATH
Bitte beachten Sie den Unterschied zwischen ABSPATH
und get_home_path()
wenn Sie WordPress in einem Unterordner installiert haben.
Die Funktion get_home_path()
gibt immer einen Pfad ohne den Unterordner zurück:
- http://www.example.com - / var / www / htdocs / beispiel
- http://www.example.com/wp - / var / www / htdocs / beispiel
So unterscheidet es sich von ABSPATH
, wodurch unterschiedliche Werte zurückgegeben werden:
- http://www.example.com - / var / www / htdocs / beispiel
- http://www.example.com/wp - / var / www / htdocs / example / wp
ABSPATH
wird zuerst in wp-load.php
die sich unter /var/www/htdocs/example/wp/wp-load.php
befindet. ABSPATH
wird ABSPATH
seine Definition übernehmen.
get_home_path()
überprüft, ob sich site_url
und home_url
unterscheiden, und entfernt den Teilstring aus dem Pfad. Andernfalls wird der ABSPATH
Wert zurückgegeben:
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 );
}
Verwenden Sie es in Ihrem Code
Der Aufruf von get_home_path()
muss in einem Kontext erfolgen, in dem wp-admin/includes/file.php
bereits enthalten ist.
Die Verwendung von get_home_path()
innerhalb des admin_init
ist beispielsweise in Ordnung, aber die Verwendung innerhalb von init
ist nicht und führt zu einem schwerwiegenden PHP-Fehler:
Call to undefined function get_home_path()
Diese Datei wird nur aus dem Admin-Kontext (Dashboard) eingefügt. Wenn Sie sie außerhalb dieses Kontextes unbedingt benötigen, müssen Sie die Datei selbst einschließen, bevor Sie die Funktion aufrufen:
require_once(ABSPATH . 'wp-admin/includes/file.php');
Verwendungszweck
$path = get_home_path();
Rückgabewert:
string
Vollständiger Dateisystempfad zum Stammverzeichnis der WordPress-Installation, auch wenn es in einem Unterordner installiert ist.
Beispiel:
/var/www/htdocs/example