全局仅为一个组添加运费

时间:2017-04-17 11:25:18

标签: woocommerce global shipping

对我来说,这是一个棘手的问题,我一直在四处寻找,我似乎无法找到答案,我希望你能。

我正在以下载模式销售照片,还有画布/木材等。所有这些都不需要运输。我使用Global Add on插件制作了所有内容,因此它们被称为组。

现在我想添加打印件,对于这个组,必须添加运费。

因此没有运费,但是当选择打印时,必须添加3欧元。 我怎样才能做到这一点?

产品页面示例: http://www.worldofpixels.be/product/org3_11/

亲切的问候, 本

1 个答案:

答案 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);