Cómo obtener la dirección URL actual en WordPress

Cómo obtener la dirección URL actual en WordPress

Hay muchas formas de hacerlo, pero las que pasan por usar directamente $_SERVER como la vía que se muestra en este ejemplo no me convencen para nada.

Así que ya que usamos WordPress, vamos a ayudarnos de éste para hacerlo.

Lo primero es entender qué significa obtener la dirección URL actual, en resumidas palabras obtener lo que tenemos en la barra de direcciones (si no hemos modificado su contenido previamente, de cajón 😉 ) Con la función add_query_arg, si no le pasamos ningún elemento (array()) obtendremos la ruta actual de la forma /página/subpágina/ pero si lo que deseamos es la dirección completa tendremos que usar home_url. Así, si introducimos lo siguiente:

$url_actual = home_url( add_query_arg( array() ) );

Obtenemos http://nuestra-web.com/página/subpágina Justo lo que queremos 🙂

¿Problemas? Si estás en una instalación dentro de un subdominio entonces esto no te funcionará, ya que home_url  te devolverá nuestra-web.com/subdominioadd_query_arg retornará subdominio/página/subpágina. Así, una solución para este caso y al mismo tiempo genérica será:

$url_actual = home_url( add_query_arg( array(), $wp->request ) );