0
我在woocommerce註冊頁面上添加了3個自定義字段。如何使WordPress電話號碼在WordPress中唯一
我迄今爲止代碼: -
/* Add Extra Registration Field in Woocommerce */
//Add First Name, Last Name, and Phone Number
function woocom_extra_register_fields() {?>
<p class="form-row form-row-wide">
<label for="reg_billing_phone"><?php _e('Phone', 'woocommerce'); ?><span class="required">*</span></label>
<input type="text" class="input-text" name="billing_phone" id="reg_billing_phone" value="<?php esc_attr_e($_POST['billing_phone']); ?>" />
</p>
<p class="form-row form-row-first">
<label for="reg_billing_first_name"><?php _e('First name', '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="form-row form-row-last">
<label for="reg_billing_last_name"><?php _e('Last name', '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['billing_last_name']); ?>" />
</p>
<div class="clear"></div>
<?php
}
add_action('woocommerce_register_form_start', 'woocom_extra_register_fields');
//Validate Fields
function woocom_validate_extra_register_fields($username, $email, $validation_errors) {
if (isset($_POST['billing_first_name']) && empty($_POST['billing_first_name'])) {
$validation_errors->add('billing_first_name_error', __('<strong>Error</strong>: First name is required!', 'woocommerce'));
}
if (isset($_POST['billing_last_name']) && empty($_POST['billing_last_name'])) {
$validation_errors->add('billing_last_name_error', __('<strong>Error</strong>: Last name is required!.', 'woocommerce'));
}
if (isset($_POST['billing_phone']) && empty($_POST['billing_phone'])) {
$validation_errors->add('billing_phone_error', __('<strong>Error</strong>: Mobile number is required!.', 'woocommerce'));
}
return $validation_errors;
}
add_action('woocommerce_register_post', 'woocom_validate_extra_register_fields', 10, 3);
//Save Fields
function woocom_save_extra_register_fields($customer_id) {
if (isset($_POST['billing_phone'])) {
// Phone input filed which is used in WooCommerce
update_user_meta($customer_id, 'billing_phone', sanitize_text_field($_POST['billing_phone']));
}
if (isset($_POST['billing_first_name'])) {
//First name field which is by default
update_user_meta($customer_id, 'first_name', sanitize_text_field($_POST['billing_first_name']));
// First name field which is used in WooCommerce
update_user_meta($customer_id, 'billing_first_name', sanitize_text_field($_POST['billing_first_name']));
}
if (isset($_POST['billing_last_name'])) {
// Last name field which is by default
update_user_meta($customer_id, 'last_name', sanitize_text_field($_POST['billing_last_name']));
// Last name field which is used in WooCommerce
update_user_meta($customer_id, 'billing_last_name', sanitize_text_field($_POST['billing_last_name']));
}
}
add_action('woocommerce_created_customer', 'woocom_save_extra_register_fields');
/* END Add Extra Registration Field in Woocommerce */
一切工作正常,但問題是,它接受dupliacte電話號碼。我如何使電話號碼字段唯一?任何想法將非常感激。
謝謝。
JQuery的應該幫助你避免重複的值。 – jjj