对我来说,这是一个棘手的问题,我一直在四处寻找,我似乎无法找到答案,我希望你能。
我正在以下载模式销售照片,还有画布/木材等。所有这些都不需要运输。我使用Global Add on插件制作了所有内容,因此它们被称为组。
现在我想添加打印件,对于这个组,必须添加运费。
因此没有运费,但是当选择打印时,必须添加3欧元。 我怎样才能做到这一点?
产品页面示例: http://www.worldofpixels.be/product/org3_11/
亲切的问候, 本
答案 0 :(得分:0)
请尝试以下修改后的代码段。
function add_extra_charge($rates, $item_id) {
global $woocommerce;
$extra_cost = 0;
foreach ($woocommerce->cart->cart_contents as $product) {
//$product is a array, and print-pack is the slug of the attribute name print
if ($product['variation_id'] && in_array('print-pack', $product['variation'])) {
$extra_cost = 3;
break;
}
}
foreach ($rates as $key => $value) {
$rates[$key]->cost += $extra_cost;
}
return $rates;
}
add_filter('woocommerce_package_rates', 'add_extra_charge', 100, 2);