Woocommerce Kayıt Ol Bölümüne Yeni Alanlar Ekleme

0

Biliyorsunuz ki WordPress Woocomerce’nin kayıt ol alanında sadece e-posta adresi isteyerek kayıt imkanı sunuyor.Bu kayıt ol sayfasını özelleştirmek isterseniz doğru yerdesiniz.Aşağıda paylaşmış olduğum kodu kopyalayın ve functions.php dosyasına ekleyin ve kaydedin.Artık kayıt ol bölümünde yeni alanlar yer alacaktır kodu kendinize göre düzenleyebilirsiniz.


/*
* Kingofwp.Com WooCommerce login/register sayfasındaki kayıt ol formuna yeni alanlar ekler
*/
function wolinka_extra_register_fields() {
?>
<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>

<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 if ( ! empty( $_POST['billing_phone'] ) ) esc_attr_e( $_POST['billing_phone'] ); ?>" />
</p>
<?php
}
add_action( 'woocommerce_register_form_start', 'wolinka_extra_register_fields' );
/**
* Yeni eklenen alanlar doldurulmadığında kullanıcıya uyarı verilmesi sağlanır.
*/
function wolinka_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', __( 'Lütfen adınızı giriniz.', 'woocommerce' ) );
}
if ( isset( $_POST['billing_last_name'] ) && empty( $_POST['billing_last_name'] ) ) {
$validation_errors->add( 'billing_last_name_error', __( 'Lütfen soyadınız giriniz.', 'woocommerce' ) );
}
if ( isset( $_POST['billing_phone'] ) && empty( $_POST['billing_phone'] ) ) {
$validation_errors->add( 'billing_phone_error', __( 'Lütfen telefon numarınızı giriniz.', 'woocommerce' ) );
}
}
add_action( 'woocommerce_register_post', 'wolinka_validate_extra_register_fields', 10, 3 );
/**
* Extra eklenen alanların panel tarafına kayıt etmesini sağlar.
*/
function wolinka_save_extra_register_fields( $customer_id ) {
if ( isset( $_POST['billing_first_name'] ) ) {
// WordPress default first name field.
update_user_meta( $customer_id, 'first_name', sanitize_text_field( $_POST['billing_first_name'] ) );
// WooCommerce billing first name.
update_user_meta( $customer_id, 'billing_first_name', sanitize_text_field( $_POST['billing_first_name'] ) );
}
if ( isset( $_POST['billing_last_name'] ) ) {
// WordPress default last name field.
update_user_meta( $customer_id, 'last_name', sanitize_text_field( $_POST['billing_last_name'] ) );
// WooCommerce billing last name.
update_user_meta( $customer_id, 'billing_last_name', sanitize_text_field( $_POST['billing_last_name'] ) );
}
if ( isset( $_POST['billing_phone'] ) ) {
// WooCommerce billing phone
update_user_meta( $customer_id, 'billing_phone', sanitize_text_field( $_POST['billing_phone'] ) );
}
}
add_action( 'woocommerce_created_customer', 'wolinka_save_extra_register_fields' );

Cevap bırakın

E-posta hesabınız yayımlanmayacak.

İnternet sitemizden en verimli şekilde faydalanabilmeniz ve kullanıcı deneyiminizi geliştirebilmek için Cookie kullanıyoruz. Cookie kullanılmasını tercih etmezseniz tarayıcınızın ayarlarından Cookieleri silebilir ya da engelleyebilirsiniz. Kabul Ediyorum Devamını oku

Gizlilik ve Çerez Politikası