PHP Woocommerce 注册后重定向上一页

问题描述 投票:0回答:1

我正在尝试将 woocommerce 配置为在注册后返回上一页

我用它来“登录重定向”并且它有效。但不在注册中:

function start_session() {
    if(!session_id()) {
        session_start();
    }
}
add_action('init', 'start_session', 1);

function redirect_url() {
    if (! is_user_logged_in()) {
        $_SESSION['referer_url'] = wp_get_referer();
    } else {
        session_destroy();
    }
}


add_action( 'template_redirect', 'redirect_url' );

function login_redirect() {
    if (isset($_SESSION['referer_url'])) {
        wp_redirect($_SESSION['referer_url']);
    } else {
        wp_redirect(home_url());
    }
}
add_filter('woocommerce_login_redirect', 'login_redirect', 1100, 2);

任何人都可以让这个代码也用于注册吗?

问候!

php redirect woocommerce e-commerce account
1个回答
0
投票

您可以使用

woocommerce_registration_redirect
过滤器。此过滤器允许您在用户注册后修改重定向 URL。所以你的代码将被修改为这样的

function start_session() {
    if(!session_id()) {
        session_start();
    }
}
add_action('init', 'start_session', 1);

function redirect_url() {
    if (! is_user_logged_in() && ! is_admin()) {
        $_SESSION['referer_url'] = wp_get_referer();
    } else {
        session_destroy();
    }
}
add_action( 'template_redirect', 'redirect_url' );

function login_redirect() {
    if (isset($_SESSION['referer_url'])) {
        $redirect_url = $_SESSION['referer_url'];
    } else {
        $redirect_url = home_url();
    }
    return $redirect_url;
}
add_filter('woocommerce_login_redirect', 'login_redirect', 1100, 2);
add_filter('woocommerce_registration_redirect', 'login_redirect', 1100, 2);
© www.soinside.com 2019 - 2024. All rights reserved.