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:

Voici comment il diffère de ABSPATH , qui renverra des valeurs différentes:

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



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow