我是编程新手,
在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 ) );
}
} );