WordPress
get_home_path ()
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:
- http://www.example.com - / var / www / htdocs / example
- http://www.example.com/wp - / var / www / htdocs / example
Así es como difiere de ABSPATH
, que devolverá valores diferentes:
- http://www.example.com - / var / www / htdocs / example
- http://www.example.com/wp - / var / www / htdocs / example / wp
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