web-dev-qa-db-fra.com

Rediriger vers la page en cours après la connexion à wordpress

Je veux juste rediriger les utilisateurs vers leur page actuelle après avoir enregistré sur mon site web wordpress. J’ai utilisé ce qui suit, mais cela ne fonctionnera pas pour moi car c’est dans la page créée à partir de l’administrateur.

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

Vous pouvez utiliser le filtre login_redirect pour le faire. Un des paramètres est $request, qui

est l'URL de l'utilisateur

function wpse125952_redirect_to_request( $redirect_to, $request, $user ){
    // instead of using $redirect_to we're redirecting back to $request
    return $request;
}
add_filter('login_redirect', 'wpse125952_redirect_to_request', 10, 3);

De plus, le filtre pourrait facilement être utilisé pour distinguer les destinations de redirection par rôles d'utilisateur. Jetez un coup d'œil à la documentation pour mieux comprendre.

5
Nicolai

Essayez wp_redirect () http://codex.wordpress.org/Function_Reference/wp_redirect Peut-être que the_permalink () vous aidera, selon l'endroit où vous vous connectez.

Sinon, est-ce ce que vous cherchez?

<a href="<?php echo wp_login_url( get_permalink() ); ?>" title="Login">Login</a>
0
TomC

Qu'entendez-vous par page actuelle de l'utilisateur?

Quoi qu'il en soit, avez-vous essayé d'utiliser la fonction intégrée wp_login_form ()?

Vous voudrez peut-être l'utiliser de cette façon:

$args = array(
    'echo' => true,
    // This could be your User's Current Page?
    'redirect' => site_url( $_SERVER['REQUEST_URI'] ),
    'form_id' => 'user-login-form',
    'label_username' => __( 'Username' ),
    'label_password' => __( 'Password' ),
    'label_remember' => __( 'Remember Me' ),
    'label_log_in' => __( 'Log In' ),
    '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 );
0
CarlosOnWeb