Untitled
unknown
plain_text
a year ago
1.4 kB
7
Indexable
function wildrobot_enklere_valg_freight_price_adjustment(array $rates, array $package): array
{
/* @var $product WC_Product_Simple */
foreach ($rates as $key => $shipping_rate) {
$cost = (float) $shipping_rate->get_cost();
if ($cost == 0) {
continue;
}
$added_cost = 0;
foreach ($package['contents'] as $product) {
// Varmefordelingsplate 20 mm = 2787
if ($product['product_id'] === 2787) {
$added_cost += 4 * $product['quantity'];
}
// Varmefordelingsplate 17 mm = 2785
if ($product['product_id'] === 2785) {
$added_cost += 3 * $product['quantity'];
}
// Varmefordelingsplate 16 mm = 2779
if ($product['product_id'] === 2779) {
$added_cost += 3 * $product['quantity'];
}
}
// Set the new cost
$new_cost = $cost + $added_cost;
$shipping_rate->set_cost($new_cost);
// Recalculate taxes
$taxes = $shipping_rate->get_taxes();
$new_taxes = array();
foreach ($taxes as $tax_id => $tax) {
$new_taxes[$tax_id] = $tax * ($new_cost / $cost);
}
$shipping_rate->set_taxes($new_taxes);
}
return $rates;
}
add_filter('woocommerce_package_rates', 'wildrobot_enklere_valg_freight_price_adjustment', 10, 2);
Editor is loading...
Leave a Comment