Блог

Woocommerce как убрать поля при оформлении заказа

Просто будоражащая некоторые умы тема как просто удалить не нужные поля при оформлении заказа, некоторые ставят для этого плагин Saphali Woocommerce Russian который прилично грузит так систему, есть еще один хороший плагин для редактирования полей, им можно как и удалить так и создать нужные поля, WooCommerce Checkout Field Editor (Manager) Pro Но он также тяжеловат для такой простой манипуляции как просто убрать поля.
И так для такого чтобы просто удалить не нужные поля при оформлении заказа мы добавляем код в файл functions.php нашей темы

 

Этим кодом мы удаляем поля Компанию, второй адрес, Страну, Город и Индекс
Если вам нужно удалить еще какие то поля, то просто продолжаем список подставляя нужные массивы

Вот полный список полей массива, передаваемого в фильтр woocommerce_checkout_fields:

billing — это форма платежного адреса
billing_first_name
billing_last_name
billing_company
billing_address_1
billing_address_2
billing_city
billing_postcode
billing_country
billing_state
billing_email
billing_phone
shipping это форма адреса доставки (обычно опционально)
shipping_first_name
shipping_last_name
shipping_company
shipping_address_1
shipping_address_2
shipping_city
shipping_postcode
shipping_country
shipping_state

В этой статья я расскажу как убрать поля оформления доставки при самовывозе

Поделиться постом

13
Оставить комментарий

avatar
8 Цепочка комментария
5 Ответы по цепочке
0 Последователи
 
Популярнейший комментарий
Цепочка актуального комментария
11 Авторы комментариев
ДенисLuchinielЮрий СоколовАлександрЛео Авторы недавних комментариев
  Подписаться  
новее старее большинство голосов
Уведомление о
Алексей
Гость
Алексей

Добрый день!

У меня почему то не работает. Хотя я прописал ансет для доставки и оплаты. А компания и индекс по прежнему отображается.

Евгений
Гость
Евгений

К сожалению такой способ мне не помог, копался где-то около 2 часов, я в этом просто как чайник, но смог найти вот такой код: //какие строчки отображать add_filter(«woocommerce_checkout_fields», «order_fields»); function order_fields($fields) { $order = array( «billing_first_name», «billing_last_name», «billing_email», «billing_phone», «billing_address_1» ); foreach($order as $field) { $ordered_fields[$field] = $fields[«billing»][$field]; } $fields[«billing»] = $ordered_fields; return $fields; } // Hook in add_filter( ‘woocommerce_default_address_fields’ , ‘custom_override_default_address_fields’ ); // Our hooked in function — $address_fields is passed via the filter!( обязателен или нет ) function custom_override_default_address_fields( $address_fields ) { $address_fields[‘last_name’][‘required’] = false; return $address_fields; } использовал материалы с https://docs.woocommerce.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/ и http://wordpress.stackexchange.com/questions/78339/how-to-reorder-billing-fields-in-woocommerce-checkout-template

Sergie
Гость
Sergie

Алексей,
код — рабочий, но, в нем после (!) комментария:
// Все $fields в этой функции….

допущена неточность — везде стоит неправильная кавычка: ‘
ее нужно везде заменить на правильную: ‘

и все получится.. Удачи!

Регина
Гость
Регина

Здравствуйте! а как изменить эти данные во вкладке «платежный адрес» в моем аккаунте?

Eugen
Гость
Eugen

Перед описаным выше кодом нужно добавить строку:
add_filter( ‘woocommerce_checkout_fields’ , ‘custom_override_checkout_fields’ );

Станислав
Гость
Станислав

Этот код подмог. Спасибо.

Лео
Гость
Лео

Да, код у меня заработал когда я поменял кавычки к имеющихся на ту, которая вставляется нажатием клавиши «Э» в английский раскладке.

Александр
Гость
Александр

День добрый!
Не подскажете, как убрать всё детали оплаты если товар «виртуальный» или «скачивемый»?

Luchiniel
Гость
Luchiniel

Спасибо!

Денис
Гость
Денис

красавец!