Как удалить поля в форме оплаты WooCommerce без плагинов

Диагностика: зачем удалять поля в форме оплаты WooCommerce

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

Как удалить поля в форме оплаты WooCommerce без плагинов: пошаговое руководство

1. Понимание структуры полей оплаты WooCommerce

Поля формы оплаты контролируются фильтром woocommerce_checkout_fields. Это ассоциативный массив с ключами для разных групп полей:

  • billing — платёжные данные покупателя;
  • shipping — адрес доставки;
  • account — создание аккаунта;
  • order — дополнительные заметки к заказу.

2. Удаление конкретных полей с помощью хука

Добавьте следующий код в файл functions.php вашей темы (рекомендуется дочерняя тема) или в собственный плагин:

add_filter('woocommerce_checkout_fields', 'custom_remove_checkout_fields');
function custom_remove_checkout_fields($fields) {
    // Удаляем поле 'company' из биллинга
    unset($fields['billing']['billing_company']);

    // Удаляем поле 'address_2' из биллинга
    unset($fields['billing']['billing_address_2']);

    // Удаляем поле 'order_comments' (доп. заметки)
    unset($fields['order']['order_comments']);

    return $fields;
}

Этот пример удаляет поле компании, вторую строку адреса и комментарии к заказу. Вы можете адаптировать список удаляемых полей под свои нужды.

3. Удаление всех полей доставки для цифровых товаров

Если ваш магазин продает только виртуальные товары, можно полностью убрать секцию доставки:

add_filter('woocommerce_checkout_fields', 'remove_shipping_fields');
function remove_shipping_fields($fields) {
    if (WC()->cart->needs_shipping() === false) {
        unset($fields['shipping']);
    }
    return $fields;
}

Проверка результата после внедрения

Перейдите в оформление заказа на фронтенде:

  • Поля, удалённые через код, должны отсутствовать.
  • Если поле появилось снова, убедитесь, что нет конфликтов с темой или плагинами, которые могут добавлять эти поля обратно.
  • Очистите кеш сайта и браузера.

Частые ошибки и как их исправить

  • Неправильные имена полей. Проверьте точное название поля в массиве $fields, используя дебаг-функцию print_r или var_dump.
  • Код добавлен в неподходящее место. Убедитесь, что код находится в functions.php или собственном плагине, и выполняется до вывода формы.
  • Конфликты с плагинами. Плагины оформления заказа или оплаты могут добавлять свои поля. Проверьте их документацию или отключите временно для теста.

Практические советы по безопасности и производительности

  • Не меняйте ядро WooCommerce — используйте хуки для совместимости с обновлениями.
  • Тестируйте изменения сначала на тестовом сайте.
  • Используйте дочернюю тему для хранения кастомного кода.
  • Минимизируйте количество удаляемых полей, чтобы не сломать логику проверки и оплаты.

Дополнительно: сравнение методов удаления полей WooCommerce

МетодПлюсыМинусыКомпромисс
Удаление через хук woocommerce_checkout_fieldsПрямой контроль, не требует плагинов, высокая совместимостьТребует навыков PHP, возможны конфликты с другими кастомизациямиЛучше всего для разработчиков, которые умеют работать с кодом
Плагины для кастомизации форм оплаты (например, Checkout Field Editor)Удобный интерфейс, подходит для новичковДополнительная нагрузка, ограниченное редактирование без платных версийПодходит для быстрого решения без кода
Редактирование шаблонов WooCommerceПолный контроль над выводомСложно поддерживать обновления, риск сломать версткуИспользовать только при необходимости полного контроля
Как удалить или изменить поля в форме оплаты WooCommerce без плагинов
17.06.2026
Как изменить уникальные usermeta в WordPress без плагинов
18.03.2026
Как использовать WP-Cron для автоматизации задач в WordPress
09.06.2026
Автоматическое изменение стоимости товаров в WooCommerce по заданным условиям
04.05.2026
Как избежать проблем с блокировкой базы данных в WordPress
26.02.2026