Что мне нужно сделать: Я хочу запустить некоторые проверки продукта перед добавлением в корзину. Точнее: Я хочу сравнить продукт, который я собираюсь добавить в корзину, с уже добавленными, чтобы увидеть, есть ли какие-то конфликты. Пример: Скажем, у нас есть продукт под названием "Обе ботинки" и продукт "левая обувь". Пользователь добавляет "левую обувь" в корзину. Затем он добавляет "обе ботинки". Я хочу напечатать ошибку вместо добавления "обеих туфель": Извините, но вы не можете добавить обе ботинки, если вы добавили левую обувь в корзину. Если вы хотите купить "обе ботинки", сначала удалите "левый ботинок".
Я посмотрел на class-wc-cart.php, и я нашел крюк действия в строке 811, , но это слишком поздно! Он после добавления продукта
"do_action ('woocommerce_add_to_cart', $cart_item_key, $product_id, $quantity, $variant_id, $variant, $cart_item_data);
Метод add_to_cart начинается с строки 705. http://wcdocs.woothemes.com/apidocs/source-class-WC_Cart.html#705
Как моя функция "менеджер конфликтов продукта" будет подключена до строки 801, без взлома woocommerce?
Спасибо!