将注册用户重定向到结帐页面

时间:2020-07-17 08:13:23

标签: woocommerce

我是编程新手,

在woocommerce中,我正在尝试将注册用户重定向到其结帐页面。我已经设法确定了代码,以便用户登录并结帐,但是当用户注册时,他们转到我的帐户页面。有人在我的网站上注册的唯一原因是购买产品。

能否请您看一下此代码段,并提供有关我需要为注册功能添加的内容的建议?

谢谢 最高


//Redirect to checkout
add_action( 'woocommerce_login_form_end', function(){
    if( !isset( $_GET['redirect'] ) || $_GET['redirect'] !== 'checkout' ) return;
    ?>
    <input type="hidden" name="xoo_cu_redirect" value="checkout"/>
    <?php
} );


//Redirect after login
add_filter( 'woocommerce_login_redirect', function( $url ){
    if( isset( $_POST['xoo_cu_redirect'] ) && $_POST['xoo_cu_redirect'] === 'checkout' ){
        $url = wc_get_checkout_url();
    }
    return $url;
} );

//Redirect to login page
add_filter( 'template_redirect', function(){
    if( ( is_cart() || is_checkout() ) && !is_user_logged_in() ){
        $myaccountURL = get_permalink( get_option('woocommerce_myaccount_page_id') );
        wp_safe_redirect( add_query_arg( 'redirect', 'checkout', $myaccountURL ) );
    }
} );


//Redirect to checkout
add_action( 'woocommerce_register_form_end', function(){
    if( !isset( $_GET['redirect'] ) || $_GET['redirect'] !== 'checkout' ) return;
    ?>
    <input type="hidden" name="xoo_cu_redirect" value="checkout"/>
    <?php
} );


//Redirect after register
add_filter( 'woocommerce_register_redirect', function( $url ){
    if( isset( $_POST['xoo_cu_redirect'] ) && $_POST['xoo_cu_redirect'] === 'checkout' ){
        $url = wc_get_checkout_url();
    }
    return $url;
} );

//Redirect to login page
add_filter( 'template_redirect', function(){
    if( ( is_cart() || is_checkout() ) && !is_user_logged_in() ){
        $myaccountURL = get_permalink( get_option('woocommerce_myaccount_page_id') );
        wp_safe_redirect( add_query_arg( 'redirect', 'checkout', $myaccountURL ) );
    }
} );

0 个答案:

没有答案