wpcodes.ru wordpress WP Codеs

WooCommerce: как отключить обязательное подтверждение по телефону при оформлении заказа

Проблема: обязательное поле телефона при оформлении заказа в WooCommerce

По умолчанию WooCommerce требует указать номер телефона при оформлении заказа, что не всегда удобно. Особенно если вы продаете цифровые товары или услуги, где телефон не нужен. В результате пользователи сталкиваются с ошибками валидации, если не вводят номер, и процесс покупки прерывается.

Диагностика проблемы: как проверить, что телефон — обязательное поле

  • Перейдите на страницу оформления заказа.
  • Оставьте поле телефона пустым.
  • Попытайтесь оформить заказ — появится ошибка, что номер телефона обязателен.
  • В админке WooCommerce в Настройки > Покупка нет отдельной опции для отключения обязательности телефона.

Значит, чтобы убрать обязательность, нужно вмешаться через код.

Пошаговое решение: отключаем обязательное поле телефона через фильтр

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

add_filter('woocommerce_billing_fields', 'wpcodes_make_phone_optional', 20, 1);
function wpcodes_make_phone_optional($fields) {
    if (isset($fields['billing_phone'])) {
        $fields['billing_phone']['required'] = false;
    }
    return $fields;
}

Этот фильтр изменяет свойства поля телефона, делая его необязательным.

Убираем обязательную проверку номера телефона на стороне JavaScript

Иногда дополнительно WooCommerce использует JS-валидацию. Чтобы избежать ошибок, можно отключить требование JS, добавив такой скрипт:

add_action('wp_footer', 'wpcodes_remove_phone_js_validation');
function wpcodes_remove_phone_js_validation() {
    if (is_checkout()) {
        ?>
        <script>
            jQuery(function($){
                $('#billing_phone').removeAttr('required').removeClass('validate-required');
            });
        </script>
        <?php
    }
}

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

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

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

  • Кэширование страницы оформления заказа: Из-за кэширования старые правила валидации могут оставаться активными. Очистите кэш плагинов (например, WP Rocket) и браузера.
  • Другие плагины, требующие телефон: Проверьте плагины для доставки, оплаты или кастомизации оформления заказа — они могут добавлять собственные проверки.
  • Изменения в шаблоне: Если тема переопределяет шаблоны WooCommerce, убедитесь, что там нет жестко заданного атрибута required у поля телефона.

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

  • Отключение обязательного телефона снижает количество данных, но может повлиять на качество связи с клиентом. Если вы используете телефон для подтверждения заказов, подумайте о внедрении альтернативных методов подтверждения (email, SMS через специальные сервисы).
  • Включайте такие изменения через дочернюю тему или плагин, чтобы не потерять их при обновлении WooCommerce.
  • Минимизируйте использование inline-скриптов. Если JS-валидация не нужна, отключайте ее централизованно, чтобы не создавать конфликтов.

Сравнение вариантов отключения обязательного телефона в WooCommerce

МетодОписаниеПлюсыМинусы
Код через фильтр woocommerce_billing_fieldsИзменяет свойство поля на необязательноеБыстро, без сторонних плагиновТребует доступа к коду, возможен конфликт с кастомными проверками
Использование плагинов для кастомизации CheckoutПлагины типа Checkout Field Editor позволяют изменять обязательность полейПростой интерфейс, не требует кодаДополнительная нагрузка, стоимость, конфликты с другими плагинами
Полное удаление поля телефонаУдаляет поле из формыМаксимально упрощает оформлениеПотеря информации, возможные проблемы с доставкой и поддержкой
×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее