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' );

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...