如何在wordpress中重定向上一页上一页

时间:2013-08-06 11:06:21

标签: php wordpress

我是wordpress的新手。我目前正在注册和登录。我有一个页面限制网址http://xyz.com/abc。此网址需要登录/注册。

我需要在用户注册或登录时将其重定向到此前一个网址。

在登录时我添加了以下钩子:

add_filter('login_redirect', 'redirect_previous_page', 10);

function redirect_previous_page(){

    global $user;
    $request = $_SERVER["HTTP_REFERER"];

    if ( in_array( $user->roles[0], array( 'administrator') ) ) {

        return admin_url();
        return $redirect_to;

    } elseif ( in_array( $user->roles[0], array( 'subscriber') ) ) {

        return $request;
        return $redirect_to;

    } 

}

这对我有用,但我没有得到如何在注册成功后重定向此网址。我在登录页面上有注册链接

3 个答案:

答案 0 :(得分:4)

正如docs中所述,您可以使用: <?php wp_get_referer() ?> 来获取用户在退出之前或登录后访问的最后一个网址。

答案 1 :(得分:2)

if ( (isset($_GET['action']) && $_GET['action'] != 'logout') || (isset($_POST['login_location']) && !empty($_POST['login_location'])) ) {
    add_filter('login_redirect', 'my_login_redirect', 10, 3);
    function my_login_redirect() {
        $location = $_SERVER['HTTP_REFERER'];
        wp_safe_redirect($location);
        exit();
    }
}

答案 2 :(得分:0)

这是一种粗略的方式,但您可以在$_SESSION['your_registration_referrer']处创建$_SERVER["HTTP_REFERER"]粘贴,并在注册后重定向到此网址。