Перенаправление конфликтов с условием подсчета корзины WooCommerce

Я использую 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;
    }
}

Это нормально работает. Однако, когда я за что-то плачу, я не могу получить доступ к странице благодарности. Корзина считается пустой, и мой код сразу перенаправляет меня на страницу магазина!

Есть ли другой способ получить доступ к странице благодарности после оформления заказа или другой способ ограничить доступ к оплате, если корзина пуста?


person Antonin_artaud    schedule 21.08.2016    source источник


Ответы (1)


Попробуй это

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;
        }
    }
}
person hemnath mouli    schedule 21.08.2016
comment
Думаю, вы имели в виду $ _GET [key] == null, но большое спасибо! Это сработало ! Может быть, отредактируйте свой ответ, чтобы другие могли его понять - person Antonin_artaud; 22.08.2016