繁体   English   中英

登录后如何重定向到结帐页面(wordpress)?

[英]How to redirect to the checkout page after login (wordpress)?

当用户在没有登录的情况下单击购买按钮时,以下代码会打开一个登录弹出窗口(效果很好)。
我的问题是,我需要在登录后重定向到结帐页面( www.mywebsite.com/my-checkout )(因为用户登录结帐)。
目前,当用户点击购买按钮时,进入首页并打开登录弹窗,登录后停留在首页。
请告诉我如何调整以下代码?

add_action('template_redirect','check_if_logged_in');
    function check_if_logged_in()
    {
        $pageid = get_option( 'woocommerce_checkout_page_id' );
        if(!is_user_logged_in() && is_page($pageid))
        {
            $url = add_query_arg(
                'redirect_to',
                get_permalink($pagid),
                site_url('/#login')             
            );
            wp_redirect($url);
            exit;
        }
        if(is_user_logged_in())
        {
            
        if(is_page(get_option( 'woocommerce_myaccount_page_id' )))
        {            
           $redirect = $_GET['redirect_to'];
            if (isset($redirect)) {
            echo '<script>window.location.href = "'.$redirect.'";</script>';
            }    
         }
      }
    }

谢谢你。

您可以使用woocommerce_login_redirect挂钩。

function wc_redirect_login( $redirect, $user ) {

    $redirect_page_id = url_to_postid( $redirect );
    $checkout_page_id = wc_get_page_id( 'checkout' );

    if( $redirect_page_id == $checkout_page_id ) {
        return $redirect;
    }

    return wc_get_page_permalink( 'shop' );
}

add_filter( 'woocommerce_login_redirect', 'wc_redirect_login' );`

您还可以尝试WooCommerce 登录重定向插件来自定义重定向。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM