web-dev-qa-db-ja.com

ワードプレスログイン後に現在のページにリダイレクトする

私のワードプレスのウェブサイトにログインした後、私はただ彼らの現在のページにユーザーをリダイレクトしたいです。私は以下を使用しました、しかしそれは管理者側から作成されたページにあるのでそれは私のために働かないでしょう。

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

これを行うには login_redirect フィルターを使用できます。パラメータの1つは$requestです。

ユーザーのURLです。

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);

このフィルタは、ユーザーロールによってリダイレクト先を区別するためにさらに簡単に使用できます。それについてのより深い洞察のためのドキュメンテーションを見てください。

5
Nicolai

Wp_redirect()を試してください http://codex.wordpress.org/Function_Reference/wp_redirect おそらくthe_permalink()がログイン元の場所によっては役に立ちます。

あるいは、これはあなたが探しているものですか?

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

ユーザーの現在のページとはどういう意味ですか?

とにかく、あなたは組み込みのwp_login_form()関数を使ってみましたか?

あなたはこのようにそれを使いたいかもしれません:

$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