
Добрый день (утро, вечер, ночь).
Есть код (содрал):
add_action( 'woocommerce_before_calculate_totals', 'add_custom_price' );
function add_custom_price( $cart_object ) {
foreach ( $cart_object->cart_contents as $key => $value ) {
if ($value['quantity']>11 && $value['quantity']<22) {
$discount = $value['data']->price * 0.02;
$value['data']->price = $value['data']->price - $discount;
}
elseif ($value['quantity']>22 && $value['quantity']<52) {
$discount = $value['data']->price * 0.05;
$value['data']->price = $value['data']->price - $discount;
}
elseif ($value['quantity']>52) {
$discount = $value['data']->price * 0.10;
$value['data']->price = $value['data']->price - $discount;
} else { ''; }
}
}
Он благополучно считает скидку по каждой позиции в корзине при определенном значении количества.
Задача: нужно внутри цикла сделать проверку, принадлежит ли товар категории с ярлыком, например, 'fish'. Если да - скидку считать, если нет - то нет.
Как можно реализовать? В php не силен, к сожалению. То, что руками пробовал прикрутить - не работает (((.
Есть код (содрал):
add_action( 'woocommerce_before_calculate_totals', 'add_custom_price' );
function add_custom_price( $cart_object ) {
foreach ( $cart_object->cart_contents as $key => $value ) {
if ($value['quantity']>11 && $value['quantity']<22) {
$discount = $value['data']->price * 0.02;
$value['data']->price = $value['data']->price - $discount;
}
elseif ($value['quantity']>22 && $value['quantity']<52) {
$discount = $value['data']->price * 0.05;
$value['data']->price = $value['data']->price - $discount;
}
elseif ($value['quantity']>52) {
$discount = $value['data']->price * 0.10;
$value['data']->price = $value['data']->price - $discount;
} else { ''; }
}
}
Он благополучно считает скидку по каждой позиции в корзине при определенном значении количества.
Задача: нужно внутри цикла сделать проверку, принадлежит ли товар категории с ярлыком, например, 'fish'. Если да - скидку считать, если нет - то нет.
Как можно реализовать? В php не силен, к сожалению. То, что руками пробовал прикрутить - не работает (((.