Очистить предварительно заполненные значения полей доставки при оформлении заказа WooCommerce

Мне нужно очистить поля доставки из профиля клиента WordPress после того, как они разместили заказ

Магазин настроен на продажу подарочных корзин, и многие постоянные клиенты захотят отправлять подарочную корзину на другой адрес доставки каждый раз, когда они возвращаются. Они будут использовать ту же платежную информацию, что и в их профиле.

add_filter('woocommerce_checkout_fields','custom_override_checkout_fields' );

function custom_override_checkout_fields( $fields ) {

  $fields['shipping']['shipping_first_name'] = '';
  $fields['shipping']['shipping_last_name'] = '';
  $fields['shipping']['shipping_company'] = '';
  $fields['shipping']['shipping_address_1'] = '';
  $fields['shipping']['shipping_address_2'] = '';
  $fields['shipping']['shipping_city'] = '';
  $fields['shipping']['shipping_postcode'] = '';
  $fields['shipping']['shipping_country'] = '';
  $fields['shipping']['shipping_state'] = '';

  return $fields;
}

Это очищает поля, а также очищает метки полей. Могу ли я отредактировать существующий, чтобы очистить только поля и оставить метки видимыми над каждым полем.

Большое спасибо за поиск

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
1 047
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы используете не тот хук-фильтр… Следующее очистит предварительно заполненные значения полей доставки:

add_filter( 'woocommerce_checkout_get_value', 'clear_shipping_fields_values', 5, 2 );
function clear_shipping_fields_values( $value, $input ) {
    $keys = ['first_name','last_name','company','address_1','address_2','city','postcode','country','state'];
    $key  = str_replace('shipping_', '', $input);
    if ( in_array($key, $keys) && is_checkout() ) {
        $value = '';
    }
    return $value;
}

Код находится в файле functions.php вашей активной дочерней темы (или активной темы). Проверено и работает.

Удивительно, что это сработало, даже для настраиваемых полей доставки, таких как «добавить подарочное сообщение».

John 30.05.2019 00:26

Большое спасибо за Вашу помощь.

John 30.05.2019 00:30

Другие вопросы по теме