WooCommerce Kayıt Formuna Alanlar Nasıl Eklenir?

Yayınlanan: 2021-04-20

Özel Alanlar Ekleyin WooCommerce Kayıt Formu WooCommerce kayıt formu alanları eklemenin bir yolunu mu arıyorsunuz? Bu eğitimde, WooCommerce mağazanıza kaydolmadan önce müşterilerden daha fazla bilgi istemek için WooCommerce kayıt formuna nasıl özel alanlar ekleyeceğinizi göstereceğim.

WooCommerce, kişiselleştirme konusunda esnek olduğu için çoğu mağaza sahibi arasında popüler olmaya devam ediyor. Daha fazla işlevsellik eklemek için eklentileri veya özel kodu kullanabilirsiniz.

Alanlar Nasıl Eklenir WooCommerce Kayıt Formu

Bu gönderide, WooCommerce Kayıt Formu Alanlarını eklemek için özel PHP betiklerini nasıl kullanabileceğinizi göreceksiniz. Bir alt tema oluşturmanızı öneririz. Bu, bir güncelleme sırasında değişikliklerinizin kaybolmamasını sağlayacaktır.

Başlamadan önce, hesap giriş sayfasında WooCommerce kayıt formlarının etkinleştirildiğinden emin olmamız gerekiyor.

Bunun için WooCommerce > Ayarlar > Hesaplar bölümüne gidin ve aşağıda gösterildiği gibi “ Hesabım ” sayfasında Müşteri kaydını etkinleştir seçeneğini işaretleyin: kaydı etkinleştir

Bu, WooCommerce kayıt formunun ön uçta görüntülenmesini sağlayacaktır.

WooCommerce Kayıt Formuna Alan Ekleme Adımları

Bu bölümde, aşağıdaki eylemleri kullanarak bu yapıya daha fazla alan ekleyeceğiz. Ad, soyad ve cep telefonu numarası gibi alanları dahil edeceğiz.

İşte izlemeniz gereken adımlar:

  1. WordPress sitenize giriş yapın ve yönetici kullanıcı olarak Gösterge Tablosuna erişin.
  2. Pano menüsünden Görünüm Menüsü > Tema Düzenleyici Menüsü'ne tıklayın. Tema Editörü sayfası açıldığında kayıt formunda alanları ekleyecek fonksiyonu ekleyeceğimiz tema fonksiyonları dosyasını arayın.
  3. Functions.php dosyasına aşağıdaki kodu ekleyin:
 function njengah_extra_register_fields() {?>

       <p class="form-row form-row-wide">

       <label for="reg_billing_phone"><?php _e( 'Telefon', 'woocommerce' ); ?></etiket>

       <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-satır form-satır-ilk">

       <label for="reg_billing_first_name"><?php _e( 'Ad', 'woocommerce' ); ?><span class="required">*</span></label>

       <input type="text" class="input-text" name="billing_first_name" id="reg_billing_first_name" value="<?php if ( ! boş( $_POST['billing_first_name'] ) ) esc_attr_e( $_POST[' billing_first_name'] ); ?>" />

       </p>

       <p class="form-satır form-satır-son">

       <label for="reg_billing_last_name"><?php _e( 'Soyadı', 'woocommerce' ); ?><span class="required">*</span></label>

       <input type="text" class="input-text" name="billing_last_name" id="reg_billing_last_name" value="<?php if ( ! boş( $_POST['billing_last_name'] ) ) ) esc_attr_e( $_POST[' billing_last_name'] ); ?>" />

       </p>

       <div class="temizle"></div>

       <?php

 }

 add_action('woocommerce_register_form_start', 'njengah_extra_register_fields');
  1. Sayfayı yenilediğinizde çıkan sonuç şudur: kayıt Formu

Kayıt formu alanları fatura adresiyle aynıdır.

Alan adından önce "billing_" önekini ekledik.

Kayıt formuna eklenebilecek ve bir fatura adresiyle ilişkilendirilebilecek geçerli WooCommerce form alanları şunlardır:

  • fatura_first_name
  • fatura son Adı
  • faturalandırma_şirketi
  • Fatura Adresi 1
  • fatura_adresi_2
  • Faturalandırma Şehri
  • fatura_posta kodu
  • fatura_ülke
  • Faturalandırma durumu
  • fatura_email
  • fatura_phone
  1. Formlar oluşturulduktan sonra, function.php dosyasına eklenmesi gereken aşağıdaki kodu kullanarak bunları doğrulamamız gerekiyor:
 /**

* Kayıt alanları Doğrulanıyor.

*/

function njengah_validate_extra_register_fields($kullanıcı adı, $e-posta, $validation_errors) {




      if ( isset( $_POST['billing_first_name'] ) && boş( $_POST['billing_first_name'] ) ) {




             $validation_errors->add( 'billing_first_name_error', __( '<strong>Hata</strong>: Ad gereklidir!', 'woocommerce' ) );

      }

      if ( isset( $_POST['billing_last_name'] ) && boş( $_POST['billing_last_name'] ) ) {




             $validation_errors->add( 'billing_last_name_error', __( '<strong>Hata</strong>: Soyadı gerekli!.', 'woocommerce' ) );




      }

         $validation_errors döndür;

}




add_action('woocommerce_register_post', 'njengah_validate_extra_register_fields', 10, 3);
  1. Son adım, fucntions.php dosyasına aşağıdaki kodu ekleyerek bu değerleri veritabanına kaydetmektir:
 /**

* Kodun altında ekstra alanlar kaydedin.

*/

function njengah_save_extra_register_fields( $customer_id ) {

    if ( isset( $_POST['billing_phone'] ) ) {

                 // WooCommerce'de kullanılan telefon girişi dosyalandı

                 update_user_meta( $customer_id, 'billing_phone', sanitize_text_field( $_POST['billing_phone'] ) );

          }

      if ( isset( $_POST['billing_first_name'] ) ) {

             //Varsayılan olarak ad alanı

             update_user_meta( $customer_id, 'first_name', sanitize_text_field( $_POST['billing_first_name'] ) );

             // WooCommerce'de kullanılan ad alanı

             update_user_meta( $customer_id, 'billing_first_name', sanitize_text_field( $_POST['billing_first_name'] ) );

      }

      if ( isset( $_POST['billing_last_name'] ) ) {

             // Varsayılan olan soyadı alanı

             update_user_meta( $customer_id, 'last_name', sanitize_text_field( $_POST['billing_last_name'] ) );

             // WooCommerce'de kullanılan soyadı alanı

             update_user_meta( $customer_id, 'billing_last_name', sanitize_text_field( $_POST['billing_last_name'] ) );

      }




}

add_action('woocommerce_created_customer', 'njengah_save_extra_register_fields');

Artık alanlar eklenmiş, doğrulanmış ve ileride kullanılmak üzere eklenmiştir.

Hesabınızdaki fatura adresi sayfasına gittiğinizde, oraya gitmek için düzenle'yi tıklamanız gerekir. Alanlar zaten doldurulmuştur: ödeme

Çözüm

Bu gönderide, WooCommerce kayıt formuna nasıl alan ekleyeceğinizi öğrendiniz.

Bu kodu uygularken herhangi bir sorunla karşılaşırsanız, lütfen kalifiye bir WordPress geliştiricisi ile iletişime geçin.

Benzer Makaleler

  1. Çıkış Yaptıktan Sonra WooCommerce Yönlendirmesi [Ultimate Guide]