Как отключить лишние поля на странице оформления заказа WooCommerce
Я продолжаю серию видео по самостоятельной настройке Интернет-магазина на WordPress+WooCommerce. В этом видео я расскажу вам как отключить лишние поля на странице оформления заказа и добавить свои поля. Для этого мы будем использовать бесплатные плагины WordPress.
Вообще, для отключения ненужных полей можно использовать специальные функции. И это будет лучшим решением, чем ставить дополнительные плагины и перегружать свой сайт. Примеры см. в конце статьи.
Но, если вы хотите добавить свои произвольные поля или редактировать существующие, то в этом случае рекомендую использовать плагины.
Видеообзор плагинов для управления полями оформления заказа
- Flexible Checkout Fields for WooCommerce
- Field Editor for WooCommerce
- WooCommerce Checkout Manager
- WooCommerce Multi-Step Checkout
Плагин Flexible Checkout Fields for WooCommerce
Возможности:
- Простой интерфейс.
- Отключение лишних полей.
- Сортировка полей.
- Редактирование существующих полей.
- В бесплатной версии можно вставить только текстовое поле и текстовую область.
- Размер поля настраивается с помощью класса CSS.
- Для телефона и почты можно включить валидацию.
- Удаление полей.
- Восстановление полей по умолчанию.
Плагин Checkout Field Editor for WooCommerce
Возможности:
- Расширенный интерфейс.
- Отключение лишних полей.
- Сортировка полей.
- Редактирование существующих полей.
- Можно добавить новые поля: текстовое поле, текстовую область, выпадающее поле, радиокнопку.
- Размер поля настраивается с помощью класса CSS.
- Для телефона и почты можно включить валидацию.
- Удаление полей.
- Восстановление полей по умолчанию.
Плагин WooCommerce Checkout Manager
Возможности:
- Расширенный интерфейс.
- Отключение лишних полей.
- Сортировка полей.
- Редактирование существующих полей.
- Можно добавить произвольный заголовок перед полями.
- Можно добавить новые поля: текстовое поле, текстовую область, выпадающее поле, радиокнопку, чекбокс, добавление файла, мультиселект, мультичекбокс.
- Размер поля настраивается с помощью опции.
- Для страницы оформления можно задать текст перед формой и после формы.
- Для телефона и почты можно включить валидацию.
- Дополнительные классы CSS для полей.
- Условная логика отображения полей.
- Значение по умолчанию для полей.
- Фильтр отображения поля по ролям пользователей, по категории товаров и по товарам.
- Удаление полей.
- Восстановление полей по умолчанию.
Плагин WooCommerce Multi-Step Checkout
Как не спугнуть покупателя необходимостью заполнения множества полей? Используйте для этого разбиение процесса оформления покупки на этапы. Сделайте процесс оформления более увлекательным.
На первом этапе покупатель заполняет платежную информацию, на втором — выбирает способ доставки, на третьем — информация о заказе и на четвертом — выбирает способ оплаты.
Отключаем лишние поля с помощью кода
Чтобы отключить лишние поля на странице оформления в блоке Платежная информация вставьте код в файле functions.php основной или дочерней темы.
Отключить поле Email
add_filter( 'woocommerce_checkout_fields' , 'customize_checkout_fields' );
function customize_checkout_fields( $fields ) {
unset($fields['billing']['billing_email']);
return $fields; }
Отключить поле Компания
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
function custom_override_checkout_fields( $fields ) {
unset($fields['billing']['billing_company']);
return $fields;}
Отключить поля Email и Компания
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
function custom_override_checkout_fields( $fields ) {
unset($fields['billing']['billing_company']);
unset($fields['billing']['billing_email']);
return $fields;}
Вот полный список полей массива, передаваемого в фильтр woocommerce_checkout_fields
Платежная информация:
- 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_first_name
- shipping_last_name
- shipping_company
- shipping_address_1
- shipping_address_2
- shipping_city
- shipping_postcode
- shipping_country
- shipping_state
Обратите внимание, что в функции перед полем, которое мы хотим отключить необходимо указать форму в которой это поле находится.
[‘billing'] — платежная информация
[‘shipping'] — доставка
Например:
unset($fields['billing']['billing_company']);
В этом примере мы отключаем поле Компания в форме Платежная информация.
Как отключить поле добавления комментария к заказу?
Добавьте этот фрагмент кода к коду выше:
unset($fields['order']['order_comments']);
Пример функции:
add_filter( 'woocommerce_checkout_fields' , 'customize_checkout_fields' );
function customize_checkout_fields( $fields ) {
unset($fields['order']['order_comments']);
return $fields; }
Как сделать поле необязательным?
Указывая true или false мы можем сделать поле обязательным или необязательным для заполнения.
add_filter( 'woocommerce_checkout_fields', 'inwebpress_required_fields', 25 );
function inwebpress_required_fields( $fields ) {
$fields[ 'billing' ][ 'billing_first_name' ][ 'required' ] = false; // необязательно
$fields[ 'billing' ][ 'billing_last_name' ][ 'required' ] = false; // необязательно
$fields[ 'billing' ][ 'billing_email' ][ 'required' ] = false; // обязательно
return $fields;
}
Как с помощью кода добавить произвольные поля на странице оформления читайте в официальной документации.
Нужна помощь по настройке полей оформления?
Я помогу:
- Скрыть поля
- Сделать необязательными
- Переименовать
- Изменить порядок отображения
- Настроить логику отображения в зависимости от способа доставки или оплаты
- Подключить маску телефона