重定向与 WooCommerce 购物车计数条件冲突

Redirecting conflicts with WooCommerce cart count condition

我正在使用 Woocommerce 如果我想在购物车为空时访问结帐功能,我已经设置了一些代码以重定向到商店页面。这是代码

add_action('template_redirect', 'go_away');
function go_away() {
    if (is_user_logged_in() && is_checkout() && WC()->cart->cart_contents_count == 0){
        wp_redirect(get_permalink(get_option('woocommerce_shop_page_id')));
        exit;
    }
}

这很好用。但是,当我付款时,我无法访问 "thankyou" 页面。购物车被认为是空的,我的代码将我直接重定向到商店页面!

是否有其他方法可以在结账后访问 "thankyou" 页面,或者如果购物车是空的,是否有其他方法可以限制访问结账?

试试这个

add_action('template_redirect', 'go_away');
function go_away() {
    if (is_user_logged_in() && is_checkout() && WC()->cart->cart_contents_count == 0){
        if ( $_GET["key"] == null ) {
            wp_redirect(get_permalink(get_option('woocommerce_shop_page_id')));
            exit;
        }
    }
}