WordPress
get_home_path ()
Recherche…
Introduction
Obtenez le chemin d'accès absolu au système de fichiers à la racine de l'installation WordPress.
Paramètres
Paramètre | Détails |
---|---|
Aucun | Cette fonction n'accepte aucun paramètre. |
Remarques
Différence importante entre get_home_path()
et ABSTPATH
Gardez à l'esprit la différence entre ABSPATH
et get_home_path()
si WordPress est installé dans un sous-dossier.
La fonction get_home_path()
renvoie toujours un chemin sans le sous-dossier:
- http://www.example.com - / var / www / htdocs / example
- http://www.example.com/wp - / var / www / htdocs / example
Voici comment il diffère de ABSPATH
, qui renverra des valeurs différentes:
- http://www.example.com - / var / www / htdocs / example
- http://www.example.com/wp - / var / www / htdocs / example / wp
ABSPATH
est d'abord défini dans wp-load.php
qui sera situé dans /var/www/htdocs/example/wp/wp-load.php
d'où ABSPATH
prendra sa définition.
get_home_path()
vérifie si les site_url
et home_url
diffèrent et supprime la sous-chaîne du chemin. Sinon, il renvoie la valeur 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 );
}
En l'utilisant dans votre code
L'appel de get_home_path()
doit être effectué dans un contexte où wp-admin/includes/file.php
a déjà été inclus.
Par exemple, l'utilisation de get_home_path()
dans le hook admin_init
est admin_init
, mais l'utiliser dans init
n'est pas une erreur fatale:
Call to undefined function get_home_path()
Ce fichier n'est inclus qu'à partir du contexte admin (tableau de bord), si vous en avez absolument besoin en dehors de ce contexte, vous devrez inclure le fichier vous-même avant d'appeler la fonction:
require_once(ABSPATH . 'wp-admin/includes/file.php');
Usage
$path = get_home_path();
Valeur de retour:
string
Chemin complet du système de fichiers à la racine de l'installation WordPress, même s'il est installé dans un sous-dossier.
Exemple:
/var/www/htdocs/example