#wordpress #woocommerce
Вопрос:
Я хочу добавить поле номера мобильного телефона( в качестве обязательного поля) в свой магазин woocommerce. Существует ли какой-либо жестко закодированный метод, позволяющий делать то же самое в форме входа/регистрации? Также будет ли это показано на странице «Моя учетная запись» (после успешного создания учетной записи)? заранее спасибо.
Ответ №1:
вам нужно ввести код ниже в functions.php текущей активной темы.
/**
* To add WooCommerce registration form custom fields.
*/
function text_domain_woo_reg_form_fields() {
?>
<p class="form-row form-row-first">
<label for="billing_phone_number"><?php _e('First name', 'text_domain'); ?><span class="required">*</span></label>
<input type="text" class="input-text" name="billing_phone_number" id="billing_phone_number" value="<?php if (!empty($_POST['billing_phone_number'])) esc_attr_e($_POST['billing_phone_number']); ?>" />
</p>
<div class="clear"></div>
<?php
}
add_action('woocommerce_register_form_start', 'text_domain_woo_reg_form_fields');
/**
* To validate WooCommerce registration form custom fields.
*/
function text_domain_woo_validate_reg_form_fields($username, $email, $validation_errors) {
if (isset($_POST['billing_phone_number']) amp;amp; empty($_POST['billing_phone_number'])) {
$validation_errors->add('billing_phone_number_error', __('<strong>Error</strong>: First name is required!', 'text_domain'));
}
return $validation_errors;
}
add_action('woocommerce_register_post', 'text_domain_woo_validate_reg_form_fields', 10, 3);
/**
* To save WooCommerce registration form custom fields.
*/
function text_domain_woo_save_reg_form_fields($customer_id) {
//First name field
if (isset($_POST['billing_phone_number'])) {
update_user_meta($customer_id, 'phone_number', sanitize_text_field($_POST['billing_phone_number']));
update_user_meta($customer_id, 'billing_phone_number', sanitize_text_field($_POST['billing_phone_number']));
}
}
add_action('woocommerce_created_customer', 'text_domain_woo_save_reg_form_fields');
Комментарии:
1. Нет. Не получилось. Я использую astra woo, и это не изменило /не добавило поле. Также используя плагин «всплывающее окно входа/регистрации», пробовал как с этим плагином, так и без него. все равно не везет. [ссылка] urbancompany.laxmisolution.com/wp/my-account