Как добавить поля в регистрационную форму WooCommerce
Опубликовано: 2021-04-20Вы ищете способ добавить поля регистрационной формы WooCommerce? В этом уроке я покажу вам, как добавить настраиваемые поля в регистрационную форму WooCommerce, чтобы запрашивать у клиентов дополнительную информацию перед регистрацией в вашем магазине WooCommerce.
WooCommerce по-прежнему популярен среди большинства владельцев магазинов, потому что он гибок в настройке. Вы можете использовать плагины или пользовательский код, чтобы добавить больше функциональности.
Как добавить поля в регистрационную форму WooCommerce
В этом посте вы увидите, как можно использовать пользовательские PHP-скрипты для добавления полей регистрационной формы WooCommerce. Рекомендуем создать дочернюю тему. Это гарантирует, что ваши изменения не будут потеряны во время обновления.
Прежде чем мы начнем, нам нужно убедиться, что регистрационные формы WooCommerce включены на странице входа в учетную запись.
Для этого перейдите в WooCommerce > Настройки > Учетные записи и установите флажок Включить регистрацию клиентов на странице « Моя учетная запись », как показано ниже:
Это гарантирует, что регистрационная форма WooCommerce будет отображаться во внешнем интерфейсе.
Шаги по добавлению полей в регистрационную форму WooCommerce
В этом разделе мы добавим в эту структуру дополнительные поля, используя следующие действия. Мы будем включать такие поля, как имя, фамилия и номер мобильного телефона.
Вот шаги, которые вам необходимо выполнить:
- Войдите на свой сайт WordPress и получите доступ к панели инструментов в качестве пользователя-администратора.
- В меню «Панель инструментов» нажмите «Меню внешнего вида» > «Меню редактора тем». Когда откроется страница Theme Editor, найдите файл функций темы, куда мы добавим функцию, которая добавит поля в регистрационную форму.
- Добавьте следующий код в файл functions.php:
функция njengah_extra_register_fields() {?> <p class="form-row form-row-wide"> <label for="reg_billing_phone"><?php _e('Телефон', 'woocommerce'); ?></метка> <input type="text" class="input-text" name="billing_phone" id="reg_billing_phone" value="<?php esc_attr_e( $_POST['billing_phone'] ); ?>" /> </p> <p class="форма-строка форма-строка-первая"> <label for="reg_billing_first_name"><?php _e('Имя', 'woocommerce'); ?><span class="required"></span></label> <input type="text" class="input-text" name="billing_first_name" id="reg_billing_first_name" value="<?php if ( ! empty( $_POST['billing_first_name'] ) ) esc_attr_e( $_POST[' billing_first_name'] ); ?>" /> </p> <p class="форма-строка форма-строка-последняя"> <label for="reg_billing_last_name"><?php _e('Фамилия', 'woocommerce'); ?><span class="required"></span></label> <input type="text" class="input-text" name="billing_last_name" id="reg_billing_last_name" value="<?php if ( ! empty( $_POST['billing_last_name'] ) ) esc_attr_e( $_POST[' биллинг_фамилия'] ); ?>" /> </p> <div class="clear"></div> <?php } add_action('woocommerce_register_form_start', 'njengah_extra_register_fields');
- Это результат, когда вы обновляете страницу:
Поля регистрационной формы такие же, как платежный адрес.
Мы включили префикс «billing_» перед названием поля.
Вот допустимые поля формы WooCommerce, которые можно добавить в регистрационную форму и связать с платежным адресом:
- billing_first_name
- billing_last_name
- billing_company
- Платежный адрес 1
- биллинг_адрес_2
- billing_city
- billing_postcode
- страной плательщика
- billing_state
- billing_email
- billing_phone
- Теперь, когда формы созданы, нам нужно проверить их, используя следующий код, который нужно вставить в файл functions.php:
/** * Зарегистрируйте поля Validating. */ функция njengah_validate_extra_register_fields($username, $email, $validation_errors) { если ( isset( $_POST['имя_первого_биллинга'] ) && пусто( $_POST['имя_первого_биллинга'] )) { $validation_errors->add( 'billing_first_name_error', __( '<strong>Ошибка</strong>: требуется имя!', 'woocommerce' ) ); } if ( isset( $_POST['billing_last_name'] ) && пусто( $_POST['billing_last_name'] )) { $validation_errors->add( 'billing_last_name_error', __( '<strong>Ошибка</strong>: требуется фамилия!.', 'woocommerce' ) ); } вернуть $validation_errors; } add_action('woocommerce_register_post', 'njengah_validate_extra_register_fields', 10, 3);
- Последний шаг — сохранить эти значения в базе данных, добавив следующий код в файл fucntions.php:
/** * Ниже код сохраняет дополнительные поля. */ функция njengah_save_extra_register_fields ($customer_id) { если ( isset( $_POST['billing_phone'] ) ) { // Файл ввода телефона, который используется в WooCommerce update_user_meta($customer_id, 'billing_phone', sanitize_text_field($_POST['billing_phone'] )); } если ( isset( $_POST['имя_первого_выставления счета'] )) { // Поле имени, которое по умолчанию update_user_meta($customer_id, 'first_name', sanitize_text_field($_POST['billing_first_name'] )); // Поле имени, которое используется в WooCommerce update_user_meta($customer_id, 'имя_первого_для выставления счетов', sanitize_text_field($_POST['имя_для выставления счетов'])); } если ( isset( $_POST['billing_last_name'] )) { // Поле Фамилия, которое по умолчанию update_user_meta($customer_id, 'last_name', sanitize_text_field($_POST['billing_last_name'] )); // Поле фамилии, которое используется в WooCommerce update_user_meta($customer_id, 'billing_last_name', sanitize_text_field($_POST['billing_last_name'] )); } } add_action('woocommerce_created_customer', 'njengah_save_extra_register_fields');
Теперь поля были добавлены, проверены и вставлены для будущего использования.
Когда вы переходите на страницу платежного адреса в своей учетной записи, вам нужно нажать «Изменить», чтобы перейти туда. Поля уже заполнены:
Вывод
В этом посте вы узнали, как добавлять поля в регистрационную форму WooCommerce.
Если у вас возникнут проблемы с реализацией этого кода, обратитесь к квалифицированному разработчику WordPress.
Похожие статьи
- Как изменить платежные реквизиты на странице оформления заказа WooCommerce
- Перенаправление WooCommerce после оформления заказа: перенаправление на пользовательскую страницу благодарности
- Перенаправление WooCommerce после выхода из системы [Полное руководство]
- Как добавить поиск на страницу магазина в WooCommerce
- Как изменить сообщения об ошибках WooCommerce Checkout
- Как добавить поле даты для оформления заказа в WooCommerce
- Как добавить проверку номера телефона для оформления заказа WooCommerce
- 30 лучших плагинов загрузки для обмена файлами WordPress и не только
- 35+ лучших бесплатных плагинов для WordPress
- Как изменить символ валюты в WooCommerce
- Как настроить цену продукта WooCommerce за кг
- Как переместить поле оформления заказа WooCommerce
- Как проверить, вошел ли пользователь в WordPress
- Как оформить страницу оформления заказа WooCommerce
- Как удалить купон из оформления заказа в WooCommerce
- Как добавить валюту в WooCommerce [Пользовательская валюта]
- Как создать поле флажка на странице оформления заказа WooCommerce
- Как получить URL-адрес оформления заказа в WooCommerce
- Краткое руководство по оптимизации мобильных касс WooCommerce