2017-05-17 8 views
0

나는 2 개의 제품이있는 woocommerce 웹 사이트가있다, 1 개의 제품에는 자유로운 선박이있다 그러나 다른 사람은 그 (것)들이 장바구니에서 분리 되 추가되는 경우에 선박을 지불했다. 이제는 일부 고객이 무료 및 유료 배송 제품을 장바구니에 함께 추가하면 배송은 전체 주문에 대해 무료가되어야한다는 시나리오가 있습니다. 이것을 어떻게 할 수 있습니까?woocommerce에서 운송 비용을 무료로 보내는 방법은 무엇입니까?

감사합니다, 모하마드

답변

1

는 테마의 functions.php이 붙여 넣습니다 ...이 시도하고 아래 $products_to_look = array(34);에 ID를 교체합니다.

add_filter('woocommerce_package_rates', 'woocommerce_package_rates'); 
function woocommerce_package_rates($rates) { 

    if (! WC()->cart->is_empty()) { 
     $products_to_look = array(34); // ids of products separated by comma. 

     $found = false; 

     foreach (WC()->cart->get_cart() as $cart_item) { 
      if ($found = in_array($cart_item['product_id'], $products_to_look)) { 
       break; 
      } 
     } 
    } 
    if ($found) { 
     foreach($rates as $key => $rate) { 
      $rates[$key]->label = 'Free shipping'; // change label to Free shipping... 
      $rates[$key]->cost = 0; // cost is set to 0. 
     } 
    } 

    return $rates; 
} 

또한 읽기 : WooCommerce shipping fee that changes when condition is met