WooCommerce Kayıt Ol Formuna Yeni Alanlar Nasıl Eklenir?

0 18

WooCommerce Kayıt Ol Formuna Yeni Alanlar Nasıl Eklenir?

WooCommerce bir siteniz varsa ve giriş/kayıt ol sayfasındaki kayıt ol formuna “ad, soyad, telefon” gibi yeni alanlar eklemek isterseniz aşağıdaki kodu functions.php dosyasına ekleyebilirsiniz.

<?php
/*
* 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 );
?>

WooCommerce Kayıt Ol Formuna Yeni Alanlar Nasıl Eklenir?

Bununla beraber kayıt ile beraber kullanıcıya Kullanıcı Üyelik Sözleşmesini onaylatmak isterseniz, aşağıdaki kodu kodu yine functions.php dosyasına eklemelisiniz. Bu kod, kayıt ol butonundan önce checkbox eklemenizi sağlar.

<?php
//WooCommerce kayıt formu sayfasında kayıt ol butonu öncesinde checkbox notu eklemenizi sağlar.
function wolinka_add_register_form_checkbox() {
?>
<p class=form-row terms wc-terms-and-conditions>
<label class=woocommerce-form__label woocommerce-form__label-for-checkbox checkbox>
<input type=checkbox class=input-checkbox name=deliverycheck id=deliverycheck />
<span for=deliverycheck class=checkbox><a href=<?php echo esc_url( home_url() ); ?>/kullanici-uyelik-sozlesmesi/ title=Kullanıcı Üyelik Sözleşmesi target=_blank><strong>Kullanıcı Üyelik Sözleşmesi</strong></a>ni okudum ve kabul ediyorum</span>
<span class=required>*</span>
</label>
</p>
<?php
}
add_action(woocommerce_register_form, wolinka_add_register_form_checkbox, 9);
// Kayıt Formunda checkbox işaretlenmediğinde kullanıcıya uyarı verdirir.
function wolinka_register_form_checkbox_approved( $validation_errors, $username, $password, $email) {
if ( ! $_POST[deliverycheck] ) {
$validation_errors->add( deliverycheck, __( Kullanıcı Üyelik Sözleşmesini onaylamanız gerekiyor., woocommerce ) );
}
return $validation_errors;
}
add_action(woocommerce_process_registration_errors, wolinka_register_form_checkbox_approved, 10, 4);
?>

WooCommerce Kayıt Ol Formuna Yeni Alanlar Nasıl Eklenir?

WooCommerce Kayıt Ol Formuna Yeni Alanlar Nasıl Eklenir?

Yorum Yap

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