Доброго времени суток! Появился такой вопрос, как можно сделать, чтобы при разной сумме корзины, были разные подарки к ним? Допустим на сумму корзины >= 1000 рублей был один подарок, от 1500 и более другой подарок(если до этого в корзине был подарок за 1000 рублей, он бы убирался из корзины и вместо него добавлялся бы за 1500). Можете подсказать? Сам опирался на официальную документацию ->
https://woocommerce.com/document/automatically-add... . И на данный момент смог написать код, только для суммы от 1000 рублей(он приведен ниже).
add_action( 'template_redirect', 'add_product_to_cart' );
function add_product_to_cart() {
if ( ! is_admin() ) {
global $woocommerce;
$product_id = 4548; //айди подарка
$found = false;
$cart_total = 1000; //сумма корзины
$is_gift_in_cart = $woocommerce->cart->find_product_in_cart( $woocommerce->cart->generate_cart_id( $product_id ) );// проверка есть ли подарок в корзине
if( $woocommerce->cart->total >= $cart_total ) {
if ( sizeof( $woocommerce->cart->get_cart() ) > 0 ) {
foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) {
$_product = $values['data'];
if ( $_product->get_id() == $product_id )
$found = true;
}
if ( ! $found )
$woocommerce->cart->add_to_cart( $product_id );
} else {
$woocommerce->cart->add_to_cart( $product_id );
}
}
if($woocommerce->cart->total < $cart_total){// если сумма заказа меньше
if($is_gift_in_cart){
$woocommerce->cart->remove_cart_item( $woocommerce->cart->generate_cart_id( $product_id ) );// убираем подарок
}
}
}
}