2017-04-13 2 views
0

사용자가 배송 국가를 변경할 때마다 총 체크 아웃 가격을 변경하고 싶습니다. 예 : "이탈리아"가격을 선택하면 변경되지 않습니다. 미국 가격을 선택하면 할인을해야합니다.Woocommerce : 배송 국가 별 총 가격 변경

이 부분은 아약스에 의해

감사

답변

1

를 실행하는 것 같다 운송 요금을 조정하기 위해 노력하고 있습니다.? 그렇다면 필요에 맞게이 스 니펫을 조정할 수 있습니다.

add_filter('woocommerce_package_rates', 'wf_add_extra_cost_based_on_state_and_shipping_class', 10, 2); 
function wf_add_extra_cost_based_on_state_and_shipping_class($available_shipping_methods, $package) { 
    global $woocommerce; 
    $state_list = array('HI', 'AK'); 

    $shipping_classes = array(
     'my-shipping-class', ///enter the name of shipping class slug 
    ); 
    $additional_price = 10; // static amount 

    $customer_state = (WC()->version < '2.7.0') ? WC()->customer->shipping_state : WC()->customer->get_shipping_state(); 
    if (in_array($customer_state, $state_list)) { 
     $avail_shipping_class = array(); 
     foreach ($package['contents'] as $key => $cart_item) { 
      $avail_shipping_class[] = $cart_item['data']->get_shipping_class(); 

     } 
     if (!empty(array_intersect($shipping_classes, $avail_shipping_class))) { 
      foreach ($available_shipping_methods as $method_key => &$method) { 
       $method->cost += $additional_price; 
      } 
     } 
    } 
    return $available_shipping_methods; 
} 
+0

또한 작동합니다. 감사! – mariobros

관련 문제