2016-06-29 2 views
2

기본적으로 Woocommerce는 결제 및 배송 주소를 결제 페이지에 저장합니다.Woocommerce는 체크 아웃 페이지에 배송 주소를 절대로 저장하지 않습니다.

Woocommerce가 배송 주소의 값을 저장하지 못하도록하는 방법을 찾고 있습니다. 따라서 배송 주소가 인 의 모든 필드는 비어 있어야합니다.

another thread에서 부분 솔루션을 발견했습니다. 그것은 잘 작동하지만, 그것은 또한 빈 청구 주소 수 : 유일한 주소를 발송을 위해 할 수있는 방법이

add_filter('woocommerce_checkout_get_value','__return_empty_string',10); 

거기를?

큰 thx! 당신은이 같은 코드를 변경할 수

답변

2

... 마법처럼

add_filter('woocommerce_checkout_get_value', 'reigel_empty_checkout_shipping_fields', 10, 2); 
function reigel_empty_checkout_shipping_fields($value, $input) { 
    /* 
    Method 1 
    you can check the field if it has 'shipping_' on it... 
    if (strpos($input, 'shipping_') !== FALSE) { 
     $value = ''; 
    } 

    Method 2 
    put all the fields you want in an array... 
    */ 
    $shipping_fields = array(
     //'shipping_first_name', 
     //'shipping_last_name', 
     'shipping_company', 
     'shipping_country', 
     'shipping_address_1', 
     'shipping_address_2', 
     'shipping_city', 
     'shipping_state', 
     'shipping_country', 
     'shipping_postcode' 
    ); 

    if (in_array($input, $shipping_fields)) { 
     $value = ''; 
    } 

    return $value; 
} 
+0

작품. 고맙습니다! 이 변수 ($ input, $ value)를 함수 reigel_empty_checkout_shipping_fields에 매개 변수로 추가 할 수 있다는 것을 어떻게 알았습니까? 이 필터는 호출하는 필터와 관련이 있습니까? 고맙습니다. – Lefteris

+0

woocommerce 파일에서'woocommerce_checkout_get_value'를 찾으십시오. – Reigel