Buscar..


Introducción

Obtenga la ruta absoluta del sistema de archivos a la raíz de la instalación de WordPress.

Parámetros

Parámetro Detalles
Ninguna Esta función no acepta ningún parámetro.

Observaciones

Diferencia importante entre get_home_path() y ABSTPATH

Tenga en cuenta la diferencia entre ABSPATH y get_home_path() si tiene WordPress instalado en una subcarpeta.

La función get_home_path() siempre devolverá una ruta sin la subcarpeta:

Así es como difiere de ABSPATH , que devolverá valores diferentes:

ABSPATH se define primero en wp-load.php que se ubicará en /var/www/htdocs/example/wp/wp-load.php por lo tanto, aquí es donde ABSPATH tomará su definición.

get_home_path() comprueba si site_url y home_url difieren, y elimina la subcadena de la ruta. De lo contrario, devuelve el valor 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 );
}

Usandolo en tu codigo

La llamada a get_home_path() debe hacerse en un contexto donde ya se haya incluido wp-admin/includes/file.php .

Por ejemplo, usar get_home_path() dentro del admin_init está bien, pero usarlo dentro de init no lo es y dará lugar a un error fatal de PHP:

Call to undefined function get_home_path()

Este archivo solo se incluye desde el contexto de administración (panel de control), si lo necesita absolutamente fuera de este contexto, deberá incluir el archivo usted mismo antes de llamar a la función:

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

Uso

$path = get_home_path();

Valor de retorno:

string

Ruta completa del sistema de archivos a la raíz de la instalación de WordPress, incluso si está instalada en una subcarpeta.

Ejemplo:

/var/www/htdocs/example



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow