آموزش اضافه کردن فیلد جدید به فرم ثبت نام در ووکامرس

آموزش اضافه کردن فیلد جدید به فرم ثبت نام در ووکامرس

آموزش اضافه کردن فیلد جدید به فرم ثبت نام در ووکامرس

شما براحتی میتوانید نام و نام خانوادگی و فیلد هایی دیگر را در فرم ثبت نام حساب کاربری من در ووکامرس اضافه نمایید.

برای انجام این کار کافیست کد زیر را در functions.php قرار دهید

///////////////////////////////
// 1. ADD FIELDS
 
add_action( 'woocommerce_register_form_start', 'a4fran3_add_name_woo_account_registration' );
 
function a4fran3_add_name_woo_account_registration() {
    ?>
 
    <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
}
 
///////////////////////////////
// 2. VALIDATE FIELDS
 
add_filter( 'woocommerce_registration_errors', 'a4fran3_validate_name_fields', 10, 3 );
 
function a4fran3_validate_name_fields( $errors, $username, $email ) {
    if ( isset( $_POST['billing_first_name'] ) && empty( $_POST['billing_first_name'] ) ) {
        $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'] ) ) {
        $errors->add( 'billing_last_name_error', __( '<strong>Error</strong>: Last name is required!.', 'woocommerce' ) );
    }
    return $errors;
}
 
///////////////////////////////
// 3. SAVE FIELDS
 
add_action( 'woocommerce_created_customer', 'a4fran3_save_name_fields' );
 
function a4fran3_save_name_fields( $customer_id ) {
    if ( isset( $_POST['billing_first_name'] ) ) {
        update_user_meta( $customer_id, 'billing_first_name', sanitize_text_field( $_POST['billing_first_name'] ) );
        update_user_meta( $customer_id, 'first_name', sanitize_text_field($_POST['billing_first_name']) );
    }
    if ( isset( $_POST['billing_last_name'] ) ) {
        update_user_meta( $customer_id, 'billing_last_name', sanitize_text_field( $_POST['billing_last_name'] ) );
        update_user_meta( $customer_id, 'last_name', sanitize_text_field($_POST['billing_last_name']) );
    }
 
}

نتیجه کد بالا :

فیلد جدید به فرم ثبت نام

لینک کوتاه:

https://a4fran3.ir/?p=17760

guest
0 نظر
Inline Feedbacks
مشاهده همه نظرات

مطالب مشابه