微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php-我的主题Woocommerce在不同页面上的登录重定向

我正在开发自己的主题Woocommerce,现在我需要在登录使用Woocommerce登录表单的特定页面后进行重定向.
为此,我在functions.PHP添加了以下功能

if (!is_account_page()) {
add_filter('woocommerce_login_redirect', 'redirect_after_login_cart');
   function redirect_after_login_cart(){
       wp_redirect( get_permalink( get_page_by_path(‘checkout’) ) );
       exit;
   }
}

我只需要登录购物车页面,登录到结帐页面后进行重定向.我的帐户的形式仍重定向到“我的帐户”页面.这样,我所有的Woocommerce登录表单都重定向到结帐页面.
有条件的不被尊重.

在转到结帐页面之前,我会先检查您是否已登录.如果您已登录,请重定向到签出,但重定向到使用登录表单创建的页面.登录页面时,无需转到我的帐户页面,而是重定向到结帐页面.

认的Woocommerce是您每次登录时转到我的帐户,并且仅当您在我创建的登录购物车页面上时,我才更改此表单

add_action('template_redirect','check_if_logged_in');
function check_if_logged_in(){
   if(!is_user_logged_in() && is_checkout()){
    wp_redirect( get_permalink( get_page_by_path('login-cart') ) );
    exit;
   }
}

如果有人能帮助我,我将不胜感激.

解决方法:

我设法解决了我的问题.请遵循以下代码

add_action( 'woocommerce_login_form', 'redirect_user_to_checkout' );
function redirect_user_to_checkout() {
    $referer = get_permalink( get_page_by_path('finalizar-compra'));
if( $referer ) {
    if(!is_account_page()) { ?>
            <input type="hidden" name="redirect-user" value="<?PHP echo $referer; ?>"><?PHP
        }
    }
}



function custom_woocommerce_login_redirect_to_checkout_page( $redirect, $user ) {
    if( isset( $_POST['redirect-user'] ) ) {
        $redirect = esc_url( $_POST['redirect-user'] );
    }
    return $redirect;
}
add_filter( 'woocommerce_login_redirect', 'custom_woocommerce_login_redirect_to_checkout_page' );

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐