Woocommerce Автоматическое добавление в корзину конкретного товара ,если клиент добавил товар определённой категории?

Всем здравствуйте и с наступающим новым 2018м!
На просторах рунета нашёл вот такую функцию (для woocommerce ):
/*
* Add item to cart on visit
*/
function add_product_to_cart() {
if ( ! is_admin() ) {
global $woocommerce;
$product_id = 64;
$found = false;
//check if product already in cart
if ( sizeof( $woocommerce->cart->get_cart() ) > 0 ) {
foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) {
$_product = $values['data'];
if ( $_product->id == $product_id )
$found = true;
}
// if product not found, add it
if ( ! $found )
$woocommerce->cart->add_to_cart( $product_id );
} else {
// if no products in cart, add it
$woocommerce->cart->add_to_cart( $product_id );
}
}
}
add_action( 'init', 'add_product_to_cart' );


Добавляет товар с id="64" в корзину клиента при посещении сайта.
экшен add_action( ‘init’, ‘add_product_to_cart’ ) получается вызывает функцию добавления этого товара.
Подскажите как прописать вызов add_action( ‘init’, ‘add_product_to_cart’ ) каждый раз при событии когда клиент добавил в корзину один товар конкретной категории.
Т.е. Цель такая : клиент добавляет в корзину товар (конкретной категории,допустим ювелирно кольцо) и в корзину добавляется автоматически товар с id="64"(допустим это красивая коробочка)
Профи по woocommerce,выручайте пожалуйста.
  • Вопрос задан
  • 1247 просмотров
Пригласить эксперта
Ответы на вопрос 2
@dubart
Без проверки работоспособности приведенной функции (могли измениться вызовы с 2014 года, когда это было опубликовано).
add_filter( 'woocommerce_add_to_cart_product_id', 'функция добавления товара');


В функции, нужно проверять категорию добавленного товара и, если нужного расходника нет в корзине, добавлять через его WC()->cart->add_to_cart( $product_id );
Ответ написан
iluhinhabr
@iluhinhabr
@iluhin
Нашёл решение? Может поменять product_id на product_cat?
Я пока лишь нашёл решение со сторонним плагином, который добавляет к товару нужный. К слову там можно цену второго указывать и сроки по актуальности такого добавления.

Мне твоя задача тоже весьма актуальна!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы