2016-06-29 2 views
2

По умолчанию Woocommerce сохраняет адрес выставления счетов и доставки на странице проверки.Woocommerce никогда не сохраняет адрес доставки на странице проверки

Я ищу способ предотвратить сохранение Woocommerce значений в отправляемом адресе. Таким образом, все поля в адрес доставки должны быть пустыми.

В another thread Я нашел частичное решение. Он отлично работает, но это также делает платежный адрес пустой:

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

Есть ли способ сделать это только для отправки почты?

Big 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_checkout_get_value' в файлах woocommerce – Reigel