[英]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.