CódigoVirtuoso
Tengo wordpress instalado en:
Cuando está en la página de inicio, la constante ABSPATH genera exactamente eso, pero cuando navega a otra página, como:
http://ejemplo.com/wordpress/contacto
el ABSPATH también se convierte en:
http://ejemplo.com/wordpress/contacto
La pregunta es, ¿cómo puedo obtener la raíz real (marcada en negrita) sin importar en qué página me encuentre, sin codificarla?
Estoy un poco confundido acerca de por qué ABSPATH cambia el valor, ¿no son las constantes inmutables una vez que se definen?
¡Gracias!
puedes usar Site_url();
… 🙂
bittech
Tuve el mismo problema en una página de administración. No solo tiene que evitar la carpeta adicional que se inserta, WP puede instalarse en una carpeta.
Aquí hay una forma, aunque un tanto complicada y escrita para mayor claridad, que hace los ajustes para estos diversos elementos. evita DIRECTORY_SEPARATOR
problemas también:
if (!defined(PLUGINUPDATEMGR_DOMAIN))
define("PLUGINUPDATEMGR_DOMAIN", strtolower( $_SERVER['HTTP_HOST'] ) );
$wprootbase = strtolower( site_url() );
$wprootstart = strpos( $wprootbase, PLUGINUPDATEMGR_DOMAIN ) +
strlen( PLUGINUPDATEMGR_DOMAIN ); // + 1 to strip the leading slash/backslash
$wprootend = strlen( $wprootbase );
$wproot = substr( $wprootbase, $wprootstart, $wprootend );
echo "Local WP path="" . $wproot . ""';
Agitado, no revuelto, salida:
Local WP path="/wp/wordpress-3.4.2"
Por supuesto, YMMV =;?)
ABSPATH devuelve la ruta absoluta al archivo php en el servidor, como /var/www/wordpress/, verifique su instalación de wordpress.
La respuesta a su problema es usar:
Sitio URL()
o
bloginfo()
Como las personas antes mencionadas.
También podrías usar
$var = get_bloginfo(“wpurl’);
Para obtener el valor en una variable
La respuesta correcta es
<?php echo esc_url( home_url( "https://stackoverflow.com/" ) ); ?>
Aquí hay algo de texto porque debo tener al menos 30 caracteres.