Как убрать лишние поля из формы заказа WooCommerce
Если форма оформления заказа в WooCommerce кажется слишком длинной, это не просто вопрос эстетики. Лишние поля часто мешают покупателю быстрее завершить заказ, особенно на мобильном, и могут добавлять лишние точки отказа. Но убирать их нужно аккуратно: часть полей нужна для доставки, оплаты, налогов или последующей обработки заказа.
Самый практичный подход такой: сначала понять, какие данные реально нужны именно вашему магазину, а уже потом сокращать checkout. Для цифровых товаров, простого самовывоза или продажи без доставки набор полей обычно можно уменьшить сильнее, чем для магазина с курьерской доставкой и обязательными реквизитами.
Какие поля в WooCommerce можно убрать без риска для обработки заказа
В стандартной форме WooCommerce есть поля для биллинга и доставки. Не все из них обязательны в каждом магазине. Если убрать лишнее без анализа, можно получить заказы, которые сложно доставить, выставить по ним счёт или передать в службу доставки.
Обычно безболезненно убирают поля, которые не влияют на сам факт оплаты и не нужны для связи с клиентом:
- компания, если вы не работаете с юрлицами;
- адресная строка 2, если она не используется в вашей стране или службой доставки;
- регион/область, если доставка не зависит от этого поля;
- почтовый индекс, если вы не используете его для расчёта доставки;
- комментарий к заказу, если он не нужен в вашей операционной модели;
- дополнительные поля, которые добавили плагины, но которыми вы не пользуетесь.
С осторожностью относитесь к удалению телефона, имени, email и адреса. Для большинства магазинов это базовые данные, без которых сложно подтвердить заказ, отправить уведомления и организовать доставку. Если у вас цифровой товар и оплата проходит сразу, часть этих полей можно оставить необязательными, но полностью убирать их стоит только после проверки сценария оформления.
Сначала проверьте, откуда именно берутся лишние поля
Не все поля в checkout создаёт сам WooCommerce. Часто их добавляют тема, плагин доставки, платёжный модуль, модуль для B2B-продаж или кастомный код. Поэтому перед правкой полезно понять источник.
Проверьте три места:
- Настройки WooCommerce — часть полей зависит от страны магазина, способа доставки и типа товаров.
- Плагины — особенно те, что добавляют поля для ИНН, компании, комментариев к доставке, выбора времени или подъезда.
- Тема и кастомный код — иногда поля добавлены через функции в дочерней теме или через сниппеты.
Если вы не уверены, что именно меняет форму, лучше сначала сделать копию сайта или проверить изменения на тестовой среде. Это особенно важно, если магазин уже принимает заказы и подключены платёжные системы, доставка и CRM.
Как убрать поля через код в дочерней теме или через сниппет
Самый гибкий способ — использовать фильтр woocommerce_checkout_fields. Он позволяет убрать или изменить конкретные поля без правки файлов WooCommerce. Делать это лучше в дочерней теме или через плагин для сниппетов, а не в родительской теме: иначе изменения пропадут после обновления.
Ниже пример, который убирает несколько стандартных полей из формы заказа. Он подходит не для всех магазинов, а только для сценариев, где эти данные действительно не нужны.
add_filter( 'woocommerce_checkout_fields', function( $fields ) {
unset( $fields['billing']['billing_company'] );
unset( $fields['billing']['billing_address_2'] );
unset( $fields['billing']['billing_postcode'] );
unset( $fields['billing']['billing_state'] );
unset( $fields['order']['order_comments'] );
return $fields;
} );Что делает этот код:
billing_company— убирает поле компании;billing_address_2— убирает вторую строку адреса;billing_postcode— убирает индекс;billing_state— убирает регион/область;order_comments— убирает комментарий к заказу.
Если вам нужно не убрать поле, а сделать его необязательным, логика будет другой: поле оставляют в форме, но меняют его обязательность. Это полезно, когда данные могут пригодиться для части заказов, но не должны мешать всем покупателям.
После добавления кода обязательно проверьте оформление заказа в реальном сценарии: с гостевым заказом, с авторизованным пользователем, с доставкой и без неё, с оплатой картой и при выборе самовывоза. Иногда поле может быть скрыто в одной ситуации, но всё ещё требоваться другим плагином на следующем шаге.
Когда лучше использовать плагин, а не код
Если вы не хотите трогать PHP или на сайте уже есть несколько интеграций, удобнее использовать плагин для управления полями checkout. Это особенно полезно, когда нужно не просто удалить поле, а менять его обязательность, порядок, подписи или показывать поле только при определённом способе доставки.
Плагин имеет смысл, если:
- вы не работаете с кодом самостоятельно;
- нужно быстро протестировать, как сокращение формы влияет на оформление заказа;
- поля добавлены сторонним модулем и их проще отключить через интерфейс;
- в магазине несколько сценариев оформления, и для каждого нужен свой набор полей.
Минус плагинов в том, что они добавляют ещё один слой логики. Если у вас уже есть плагин доставки, платёжный модуль и расширение для checkout, не стоит ставить ещё один инструмент без необходимости. Сначала проверьте, нет ли нужной настройки в уже установленном расширении.
Какие поля нельзя удалять без проверки сценария магазина
Есть поля, которые часто хочется убрать ради короткой формы, но в реальной работе они могут быть критичны. Здесь всё зависит от модели магазина.
| Поле | Когда можно убрать | Когда лучше оставить |
|---|---|---|
| Телефон | Для цифровых товаров и полностью автоматической выдачи | Для курьерской доставки, подтверждения заказа, связи с клиентом |
| Практически никогда не стоит убирать полностью | Нужен для уведомлений, оплаты и статуса заказа | |
| Адрес | При самовывозе или цифровых товарах | При доставке курьером и отправке почтой |
| Имя и фамилия | Иногда фамилию можно не делать обязательной | Если заказ передаётся в доставку или CRM |
| Компания | Если вы не работаете с юрлицами | Для B2B-магазина и документов на организацию |
Если у вас магазин с физическими товарами, не спешите сокращать форму до минимума. Иногда лучше убрать второстепенные поля, но оставить те, которые помогают без ошибок передать заказ в доставку. Для цифровых товаров, наоборот, checkout можно сделать заметно короче, потому что адресные данные там часто не нужны.
Как проверить, что после сокращения формы ничего не сломалось
После любых изменений в checkout нужно пройти весь путь покупателя, а не только посмотреть, исчезло ли поле визуально. Проверка должна быть практической.
Минимальный набор тестов такой:
- оформить заказ как гость;
- оформить заказ как зарегистрированный пользователь;
- проверить мобильную версию формы;
- проверить разные способы доставки;
- проверить разные способы оплаты;
- убедиться, что заказ создаётся в админке WooCommerce;
- проверить, приходят ли письма и передаются ли данные в платёжный сервис или CRM.
Если после удаления поля заказ перестал оформляться, проблема не всегда в самом WooCommerce. Часто конфликт возникает из-за темы, скриптов checkout, плагина доставки или платёжного шлюза, который ожидает конкретное поле. В таком случае лучше вернуть изменения и проверить, какой модуль требует эти данные.
Что обычно даёт лучший результат на практике
В реальном магазине самый рабочий подход не в том, чтобы убрать всё подряд, а в том, чтобы убрать только лишнее для конкретного сценария. Для самовывоза и цифровых товаров форма может быть очень короткой. Для магазина с курьерской доставкой и оплатой при получении лучше оставить больше полей, но сделать их понятными и не перегружать покупателя лишними вопросами.
Если вы только выстраиваете структуру магазина на WordPress и хотите, чтобы оформление заказа было аккуратным с самого начала, удобнее сразу выбирать тему и шаблон, где checkout и карточка товара не перегружены лишними элементами. В таких сценариях хорошо подходят решения, ориентированные именно на WooCommerce, например тема Bono от WPShop: https://wpshop.ru/themes/bono. Но даже с хорошей темой набор полей всё равно нужно настраивать под ваш способ доставки, оплаты и тип товаров.
Если коротко: убирайте не «всё ненужное», а только то, без чего ваш магазин действительно может обработать заказ без ошибок. Тогда форма станет короче, а не сломанной.