En algunos casos, cuando permites que los usuarios inicien sesión en tu sitio WordPress, puede ser útil que, tras identificarse, permanezcan en la misma página en la que estaban. Este comportamiento resulta muy práctico, por ejemplo, si utilizan un formulario de acceso en un widget, una barra lateral o una ventana emergente (modal), ya que evita redireccionarlos al escritorio o al inicio del sitio.
En este tutorial aprenderás cómo redirigir al usuario automáticamente a la página desde la que inició sesión, utilizando el filtro login_redirect.
Para aplicar esta funcionalidad, copia el siguiente código en el archivo functions.php del tema activo (preferiblemente un child theme).
// Redirigir al usuario a la misma página después de iniciar sesión
add_filter('login_redirect', 'my_login_redirect_to_referrer', 10, 3);
function my_login_redirect_to_referrer($redirect_to, $request, $user) {
// Si existe una URL de referencia, redirigir allí
if (!empty($_SERVER['HTTP_REFERER'])) {
return esc_url_raw($_SERVER['HTTP_REFERER']);
}
// Si no hay referencia, redirigir al inicio
return home_url();
}