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