Это небольшая функция, которую я пишу для добавления дополнительных затрат на доставку в зависимости от количества продуктов в корзине, цена которых превышает 40 евро.
скриншот моего кода
<br>
<div>
<?php
$additionalShippingCosts = 0;
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
$product = $cart_item['data'];
$product_id = $cart_item['product_id'];
$quantity = $cart_item['quantity'];
$price = WC()->cart->get_product_price( $product );
$pricenum = (float) $product->get_price();
if($pricenum < 40) {
$price2 = 0;
} else {
$price2 = 5;
$additionalShippingCosts += $price2*$quantity;
}
?>
<div>product price: <?php echo $pricenum; ?></div>
<div>extra cost: <?php echo $price2; ?> * <?php echo $quantity; ?></div>
<br>
<?php
}
?>
<div>Additional shipping cost: <?php echo $additionalShippingCosts; ?></div>
</div>
Я дошел до того момента, когда функция вычисляет, сколько должно быть добавлено к доставке, теперь мне нужно 1) фактически добавить это к стоимости доставки 2) запускать его каждый раз при обновлении корзины 3) ввести условия для страны доставки
Условные обозначения будут простыми, я собираюсь их жестко закодировать. Обычно «при доставке в Германию дополнительная стоимость доставки для каждого товара стоимостью более 40 евро составляет 10 евро» и «при доставке в Ирландию дополнительная стоимость доставки для каждого товара стоимостью более 40 евро составляет 15 евро»
Как корзина страница выглядит с примечаниями о том, как она должна выглядеть