Redireccionar a la página actual después del inicio de sesión en WordPress

10 dic 2013, 15:00:53
Vistas: 34K
Votos: 3

Quiero redireccionar a los usuarios a su página actual después de iniciar sesión en mi sitio WordPress. He utilizado lo siguiente pero no funciona para mí ya que está en una página creada desde el panel de administración.

<?php echo wp_login_url(get_permalink()); ?>
2
Comentarios

Por favor haz seguimiento a las preguntas que realizaste, es una parte importante del proceso en WPSE - consulta ¿Qué debo hacer cuando alguien responde mi pregunta? y ¿Por qué es importante votar? para una mejor comprensión.

Nicolai Grossherr Nicolai Grossherr
8 abr 2014 16:33:23
Todas las respuestas a la pregunta 5
0

Puedes usar el filtro login_redirect para hacer esto. Uno de los parámetros es $request, que

es la URL desde donde viene el usuario

function wpse125952_redirect_to_request( $redirect_to, $request, $user ){
    // en lugar de usar $redirect_to, redirigimos de vuelta a $request
    return $request;
}
add_filter('login_redirect', 'wpse125952_redirect_to_request', 10, 3);

El filtro también podría usarse fácilmente para distinguir destinos de redirección por roles de usuario. Consulta la documentación para obtener una visión más profunda sobre esto.

10 dic 2013 15:27:50
0

Prueba con wp_redirect() http://codex.wordpress.org/Function_Reference/wp_redirect Quizás the_permalink() te pueda ayudar dependiendo de desde dónde estés iniciando sesión.

Alternativamente, ¿es esto lo que estás buscando?

<a href="<?php echo wp_login_url( get_permalink() ); ?>" title="Iniciar sesión">Iniciar sesión</a>
10 dic 2013 15:14:00
0

¿A qué te refieres con la página actual del usuario?

De todos modos, ¿has probado a usar la función incorporada wp_login_form()?

Podrías usarla de esta manera:

$args = array(
    'echo' => true,
    // ¿Podría ser esta tu Página Actual del Usuario?
    'redirect' => site_url( $_SERVER['REQUEST_URI'] ),
    'form_id' => 'user-login-form',
    'label_username' => __( 'Nombre de usuario' ),
    'label_password' => __( 'Contraseña' ),
    'label_remember' => __( 'Recordarme' ),
    'label_log_in' => __( 'Iniciar sesión' ),
    'id_username' => 'user_login',
    'id_password' => 'user_pass',
    'id_remember' => 'rememberme',
    'id_submit' => 'wp-submit',
    'remember' => true,
    'value_username' => NULL,
    'value_remember' => false );

wp_login_form( $args );
11 dic 2013 06:41:57
1

Añade lo siguiente en tu archivo functions.php

function admin_default_page() {
  $site = get_site_url();
  $site1 = $site . "/* slug - nombre de la página */";
  return $site1;
}
add_filter('login_redirect', 'admin_default_page');
18 may 2020 11:44:42
Comentarios

Siempre incluye una breve explicación con tu respuesta publicada - de esta manera los usuarios pueden entender cuál es la solución, por qué es una buena solución, qué es lo que hacen las diferentes funcionalidades, etc.

Tony Djukic Tony Djukic
18 may 2020 17:23:25
0
-1

Problema resuelto. He instalado un plugin de Wordpress para ejecutar código PHP en las páginas. Entonces

<?php echo wp_login_url(get_permalink()); ?>

funciona correctamente en las páginas de Wordpress. http://wordpress.org/plugins/insert-php/

11 dic 2013 06:24:45