Uncaught Ошибка: вызов функции-члена get_cart () на ноль - PullRequest
0 голосов
/ 07 марта 2020

В Woocommerce у меня есть сообщение об ошибке в моей функции, но я не понимаю, почему это происходит.

Uncaught Ошибка: вызов функции-члена get_cart () для null in ... Функция проверяет id категории товара в корзине.

Ошибка отображается в деталях заказа в бэкэнде

Используется в функциях. php, выполняется на странице оформления заказа, вызываемой этими перехватчиками: woocommerce_before_order_notes woocommerce_checkout_process woocommerce_checkout_update_order_meta woocommerce_admin_order_data_after_billing_address woocommerce_email_order_meta_keys

* 1011

1 Ответ

0 голосов
/ 08 марта 2020

Я думаю, что вы хотите проверить, что корзина не пуста перед вашей функцией.

Также ... Вы можете получить доступ к цене, используя get_price() от объекта продукта, который вы извлекаете с помощью $values['data']

    function is_in_the_cart(){

        // Make sure it's only on front end
        if (is_admin()) return false;

        $found = false;

        // If cart is empty - bail and return false
        if (empty (WC()->cart->get_cart())) {  

            return false;

        } else {

        foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) {
            $cart_product = $values[ 'data' ];
            // Find if product is in the cart price <=40
            $price = floatval($cart_product->get_price());
            if ( $price >= 40 && $cart_product->id == '969' ) {
                $found = true;
                }
            }

            if ( $found ) {
                return true;
            } else {
                return false;
            }
        }
    }

ОБНОВЛЕНО - добавлено is_admin для предотвращения запуска на сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...