Удаляем ненужные контактные данные из вывода WooCommerce в WordPress

Диагностика проблемы: лишние контактные данные в выводе WooCommerce

В стандартном шаблоне WooCommerce в разделе оформления заказа (checkout) и в профиле пользователя часто выводятся контактные данные, такие как телефон, адрес электронной почты, адрес доставки и другие. Иногда требуется убрать или скрыть отдельные поля, например, номер телефона или дополнительный адрес, чтобы упростить интерфейс или соответствовать бизнес-требованиям.

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

Как WooCommerce выводит контактные поля: обзор

WooCommerce использует функции и хуки для отображения полей формы оформления заказа и данных профиля:

  • woocommerce_checkout_fields — фильтр для изменения полей формы оформления заказа;
  • woocommerce_billing_fields и woocommerce_shipping_fields — подмножества полей для адресов;
  • Шаблоны form-billing.php и form-shipping.php отвечают за вывод полей.

Пошаговое решение: удаляем ненужные контактные поля из оформления заказа

Чтобы убрать поле, например, телефон (billing_phone), нужно добавить фильтр в файл functions.php вашей темы или дочерней темы:

add_filter('woocommerce_checkout_fields', 'custom_remove_checkout_fields');
function custom_remove_checkout_fields($fields) {
    // Удаляем телефон из биллинга
    if (isset($fields['billing']['billing_phone'])) {
        unset($fields['billing']['billing_phone']);
    }
    // Можно удалить и другие поля, например, company
    // unset($fields['billing']['billing_company']);
    return $fields;
}

Если нужно убрать поле из адреса доставки:

add_filter('woocommerce_checkout_fields', 'custom_remove_shipping_phone');
function custom_remove_shipping_phone($fields) {
    if (isset($fields['shipping']['shipping_phone'])) {
        unset($fields['shipping']['shipping_phone']);
    }
    return $fields;
}

Обратите внимание, что поле shipping_phone по умолчанию в WooCommerce отсутствует, но если оно добавлено кастомными плагинами, такой код поможет удалить его.

Удаление контактов из профиля пользователя WooCommerce

Чтобы убрать отображение поля телефона в личном кабинете, используйте фильтр woocommerce_customer_meta_fields:

add_filter('woocommerce_customer_meta_fields', 'remove_phone_from_account');
function remove_phone_from_account($fields) {
    if (isset($fields['billing']['fields']['billing_phone'])) {
        unset($fields['billing']['fields']['billing_phone']);
    }
    return $fields;
}

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

1. Перейдите на страницу оформления заказа (checkout) на сайте. Поле телефона должно исчезнуть из формы.

2. В личном кабинете WooCommerce зайдите в раздел редактирования адреса биллинга — телефон не должен отображаться.

3. Проверьте, нет ли ошибок в консоли браузера и на сервере (логи PHP). Если форма работает корректно и поле отсутствует — решение успешно.

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

  • Поле не исчезает: Возможно, код добавлен в неправильный файл или активна кэш-система (кэш-плагины, серверный кэш). Очистите кэш и убедитесь, что functions.php в активной теме.
  • Ошибка PHP: Проверьте синтаксис и наличие функции с правильным именем. Ошибки на сайте могут привести к белому экрану.
  • Поле добавлено плагином: Некоторые плагины добавляют поля вне стандартных хуков. В этом случае нужно искать документацию плагина или фильтры для удаления.

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

  • Не удаляйте критичные для оплаты поля (email, имя), это может нарушить работу WooCommerce.
  • Добавляйте код в дочернюю тему, чтобы избежать потерь при обновлении темы.
  • Используйте isset() перед unset(), чтобы избежать предупреждений.
  • Тестируйте на локальной копии сайта перед внедрением на продакшн.
  • Для длительной поддержки кода используйте комментарии с описанием, какие поля удалены и зачем.

Сравнение способов удаления полей: код или плагины

МетодПреимуществаНедостаткиКогда использовать
Код в functions.phpПолный контроль, бесплатно, быстроТребует навыков, риск ошибокЕсли умеете работать с PHP и хотите минимальный набор изменений
Плагины (Checkout Field Editor)Удобный интерфейс, больше возможностейЗависимость от плагина, нагрузка на сайтЕсли нужны частые изменения без кода, или не хотите писать код
Как добавить поддержку отзывов в тему WordPress: практическое руководство
15.03.2026
Как удалить или изменить WooCommerce AJAX корзину без плагинов
18.04.2026
Как удалить неиспользуемые стили и скрипты в теме WordPress
12.03.2026
Уникальные метки для тем в WordPress: создание и применение
18.02.2026
Как добавить поддержку тёмного режима в тему WordPress
28.01.2026