以下代码将允许特定产品的免费送货:

    function wcs_my_free_shipping( $is_available ) {
    global $woocommerce;

    // set the product ids that are eligible
    $eligible = array( '360' );

    // 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 );

我想做的是允许免费送货,而不是产品,而是送货地址中特定的街道和邮政编码组合。我找到了如何检查登录用户的方法,但是似乎无法在结帐时找到具有此信息的正确变量。任何帮助将不胜感激。

提前致谢,
-本

最佳答案

Woocommerce中已经有可用的运输区域。您可以为每个特定区域设置送货方式“统一费率”或“免费送货”。您可以在Woocommerce-> Settings下检查它。查找运输标签。

Screenshot for shipping tab

10-04 11:26