购物车结算运费

产品 A 已添加到购物车中,需要支付运费。产品 B 已添加到购物车中,添加后,运费应为免费。也就是不一定按总价决定是否收运费。

但是加一起 Woocoomerce 会收取运费,因为购物车中包含收费产品和不收费产品。

我试过以下这个代码,但是没有用

function wcs_my_free_shipping( $is_available ) {
    global $woocommerce;
 
    // set the product ids that are eligible
    $eligible = array( '560' );
 
    // get cart contents
    $cart_items = $woocommerce->cart->get_cart();

    // loop through the items looking for one in the eligible array
    foreach ( $cart_items as $key => $item ) {
        if( in_array( $item['product_id'], $eligible ) ) {
            return true;
        }
    }
 
    // nothing found return the default value
    return $is_available;
}
add_filter( 'woocommerce_shipping_free_shipping_is_available', 'wcs_my_free_shipping', 20 );

有人能分析下吗

请登录后发表评论