鉤在正確的篩選器操作
讓我們對功能get_cart_contents_weight()
一看:
public function get_cart_contents_weight() {
$weight = 0;
foreach ($this->get_cart() as $cart_item_key => $values) {
$weight += $values['data']->get_weight() * $values['quantity'];
}
return apply_filters('woocommerce_cart_contents_weight', $weight);
}
有一個篩選器掛鉤,我們可以使用:woocommerce_cart_contents_weight
所以我們可以添加一個功能到這個過濾器:
add_filter('woocommerce_cart_contents_weight', 'add_package_weight_to_cart_contents_weight');
function add_package_weight_to_cart_contents_weight($weight) {
$weight = $weight * 1.3; // add 30%
return $weight;
}
要包裹的重量分別添加到每一個產品,你可以試試這個:
add_filter('woocommerce_product_get_weight', 'add_package_to_product_get_weight');
function add_package_to_product_get_weight($weight) {
return $weight * 1.3;
}
但是不要使用這兩種解決方案結合在一起。
它的工作原理,但當我計算航運時,我收到舊的重量值 – dendomenko
我已更新我的答案。嘗試第二種解決方案。 –