• 29-11-2023, 16:33:28
    #1
    Merhaba
    Wordpress kayıt formuna
    Vergi Numarası
    Şirket Ünvanı
    Vergi Dairesi
    gibi alanlar eklemek istiyoruz
    Birden fazla bu konu ile alakalı makaleyi inceledim
    functions dosyasına ekleme yaparak oluyor dediler ama sadece belli başlı şeyleri ekleyebiliyorum harici ek alanı ekleyemiyorum(sadece woo gönderim adresi kısmında istenilen bilgileri kayıt ekranında gösterebiliyorum)
    acf eklentisi ile oluyor dediler onuda denedim ancak kayıt ekranında gözükmüyor ne yaptıysam

    yardımcı olabilecek var mı?
  • Kabul Edilen Cevap
    • <?php
      add_action( 'register_form', 'iskendercnr_register_form' );
      function iskendercnr_register_form() {
      //1- forma alan ekle
          $vergi_no = ( ! empty( $_POST['vergi_no'] ) ) ? $_POST['vergi_no'] : '';
          $vergi_daire = ( ! empty( $_POST['vergi_daire'] ) ) ? $_POST['vergi_daire'] : '';
          $sirket_unvan = ( ! empty( $_POST['sirket_unvan'] ) ) ? $_POST['sirket_unvan'] : '';
              ?>
              <p>
                  <label for="vergi_no"><?php _e( 'Vergi Numarası', 'mydomain' ) ?><br />
                      <input type="text" name="vergi_no" id="vergi_no" class="input" value="<?php echo esc_attr(  $vergi_no  ); ?>" size="25" /></label>
              </p>
              <p>
                  <label for="vergi_daire"><?php _e( 'Vergi Dairesi', 'mydomain' ) ?><br />
                      <input type="text" name="vergi_daire" id="vergi_daire" class="input" value="<?php echo esc_attr(  $vergi_daire  ); ?>" size="25" /></label>
              </p>
              <p>
                  <label for="sirket_unvan"><?php _e( 'Şirket Ünvanı', 'mydomain' ) ?><br />
                      <input type="text" name="sirket_unvan" id="sirket_unvan" class="input" value="<?php echo esc_attr(  $sirket_unvan  ); ?>" size="25" /></label>
              </p>
              <?php
          }
      
          //2. validation ekle
          add_filter( 'registration_errors', 'iskendercnr_registration_errors', 10, 3 );
          function iskendercnr_registration_errors( $errors, $sanitized_user_login, $user_email ) {
      
              if ( !empty( $_POST['vergi_no'] ) && trim( $_POST['vergi_no'] ) == '' || !empty( $_POST['vergi_daire'] ) && trim( $_POST['vergi_daire'] ) == '' || !empty( $_POST['sirket_unvan'] ) && trim( $_POST['sirket_unvan'] ) == '') {
              $errors->add( 'input_error', sprintf('<strong>%s</strong>: %s',__( 'ERROR', 'mydomain' ),__( 'Alanları Boş Bırakmayın.', 'mydomain' ) ) );
      
              }
      
              return $errors;
          }
      
          //3. dataları kaydet
          add_action( 'user_register', 'iskendercnr_user_register' );
          function iskendercnr_user_register( $user_id ) {
      
              if ( ! empty( $_POST['vergi_no'] ) && ! empty( $_POST['vergi_daire'] ) && ! empty( $_POST['sirket_unvan'] )) {
                  update_user_meta( $user_id, 'vergi_no', $_POST['first_name'] );
                  update_user_meta( $user_id, 'vergi_daire', $_POST['vergi_daire'] );
                  update_user_meta( $user_id, 'sirket_unvan', $_POST['sirket_unvan'] );
              }
          }
  • 29-11-2023, 16:41:17
    #2
    WordPress
    Merhabalar,
    NVI api ile tckn doğrulama ve vergi dairesi ekleyebileceğiniz ücretsiz bir eklenti mevcut. Mesaj iletirseniz detaylı bilgi vereyim.
  • 29-11-2023, 17:15:16
    #3
    Bu cevap, moderatörlerimiz tarafından kabul edilebilir bir cevap olarak işaretlendi.
    <?php
    add_action( 'register_form', 'iskendercnr_register_form' );
    function iskendercnr_register_form() {
    //1- forma alan ekle
        $vergi_no = ( ! empty( $_POST['vergi_no'] ) ) ? $_POST['vergi_no'] : '';
        $vergi_daire = ( ! empty( $_POST['vergi_daire'] ) ) ? $_POST['vergi_daire'] : '';
        $sirket_unvan = ( ! empty( $_POST['sirket_unvan'] ) ) ? $_POST['sirket_unvan'] : '';
            ?>
            <p>
                <label for="vergi_no"><?php _e( 'Vergi Numarası', 'mydomain' ) ?><br />
                    <input type="text" name="vergi_no" id="vergi_no" class="input" value="<?php echo esc_attr(  $vergi_no  ); ?>" size="25" /></label>
            </p>
            <p>
                <label for="vergi_daire"><?php _e( 'Vergi Dairesi', 'mydomain' ) ?><br />
                    <input type="text" name="vergi_daire" id="vergi_daire" class="input" value="<?php echo esc_attr(  $vergi_daire  ); ?>" size="25" /></label>
            </p>
            <p>
                <label for="sirket_unvan"><?php _e( 'Şirket Ünvanı', 'mydomain' ) ?><br />
                    <input type="text" name="sirket_unvan" id="sirket_unvan" class="input" value="<?php echo esc_attr(  $sirket_unvan  ); ?>" size="25" /></label>
            </p>
            <?php
        }
    
        //2. validation ekle
        add_filter( 'registration_errors', 'iskendercnr_registration_errors', 10, 3 );
        function iskendercnr_registration_errors( $errors, $sanitized_user_login, $user_email ) {
    
            if ( !empty( $_POST['vergi_no'] ) && trim( $_POST['vergi_no'] ) == '' || !empty( $_POST['vergi_daire'] ) && trim( $_POST['vergi_daire'] ) == '' || !empty( $_POST['sirket_unvan'] ) && trim( $_POST['sirket_unvan'] ) == '') {
            $errors->add( 'input_error', sprintf('<strong>%s</strong>: %s',__( 'ERROR', 'mydomain' ),__( 'Alanları Boş Bırakmayın.', 'mydomain' ) ) );
    
            }
    
            return $errors;
        }
    
        //3. dataları kaydet
        add_action( 'user_register', 'iskendercnr_user_register' );
        function iskendercnr_user_register( $user_id ) {
    
            if ( ! empty( $_POST['vergi_no'] ) && ! empty( $_POST['vergi_daire'] ) && ! empty( $_POST['sirket_unvan'] )) {
                update_user_meta( $user_id, 'vergi_no', $_POST['first_name'] );
                update_user_meta( $user_id, 'vergi_daire', $_POST['vergi_daire'] );
                update_user_meta( $user_id, 'sirket_unvan', $_POST['sirket_unvan'] );
            }
        }
  • 29-11-2023, 17:19:28
    #4
    iskendercnr adlı üyeden alıntı: mesajı görüntüle
    <?php
    add_action( 'register_form', 'iskendercnr_register_form' );
    function iskendercnr_register_form() {
    //1- forma alan ekle
        $vergi_no = ( ! empty( $_POST['vergi_no'] ) ) ? $_POST['vergi_no'] : '';
        $vergi_daire = ( ! empty( $_POST['vergi_daire'] ) ) ? $_POST['vergi_daire'] : '';
        $sirket_unvan = ( ! empty( $_POST['sirket_unvan'] ) ) ? $_POST['sirket_unvan'] : '';
            ?>
            <p>
                <label for="vergi_no"><?php _e( 'Vergi Numarası', 'mydomain' ) ?><br />
                    <input type="text" name="vergi_no" id="vergi_no" class="input" value="<?php echo esc_attr(  $vergi_no  ); ?>" size="25" /></label>
            </p>
            <p>
                <label for="vergi_daire"><?php _e( 'Vergi Dairesi', 'mydomain' ) ?><br />
                    <input type="text" name="vergi_daire" id="vergi_daire" class="input" value="<?php echo esc_attr(  $vergi_daire  ); ?>" size="25" /></label>
            </p>
            <p>
                <label for="sirket_unvan"><?php _e( 'Şirket Ünvanı', 'mydomain' ) ?><br />
                    <input type="text" name="sirket_unvan" id="sirket_unvan" class="input" value="<?php echo esc_attr(  $sirket_unvan  ); ?>" size="25" /></label>
            </p>
            <?php
        }
    
        //2. validation ekle
        add_filter( 'registration_errors', 'iskendercnr_registration_errors', 10, 3 );
        function iskendercnr_registration_errors( $errors, $sanitized_user_login, $user_email ) {
    
            if ( !empty( $_POST['vergi_no'] ) && trim( $_POST['vergi_no'] ) == '' || !empty( $_POST['vergi_daire'] ) && trim( $_POST['vergi_daire'] ) == '' || !empty( $_POST['sirket_unvan'] ) && trim( $_POST['sirket_unvan'] ) == '') {
            $errors->add( 'input_error', sprintf('<strong>%s</strong>: %s',__( 'ERROR', 'mydomain' ),__( 'Alanları Boş Bırakmayın.', 'mydomain' ) ) );
    
            }
    
            return $errors;
        }
    
        //3. dataları kaydet
        add_action( 'user_register', 'iskendercnr_user_register' );
        function iskendercnr_user_register( $user_id ) {
    
            if ( ! empty( $_POST['vergi_no'] ) && ! empty( $_POST['vergi_daire'] ) && ! empty( $_POST['sirket_unvan'] )) {
                update_user_meta( $user_id, 'vergi_no', $_POST['first_name'] );
                update_user_meta( $user_id, 'vergi_daire', $_POST['vergi_daire'] );
                update_user_meta( $user_id, 'sirket_unvan', $_POST['sirket_unvan'] );
            }
        }
    Bu kodu func dosyasına eklemem yeterli olacak mıdır
  • 29-11-2023, 17:21:15
    #5
    evet.

    ama bu bilgiler veritabanında usermeta tablosuna eklenir nerde nasıl kullanacağınız size kalmış.
    ayrıca doğrulama vs şeklinde geliştirebilirsiniz basit bir ilave form bu sadece
  • 29-11-2023, 17:25:54
    #6
    iskendercnr adlı üyeden alıntı: mesajı görüntüle
    evet.

    ama bu bilgiler veritabanında usermeta tablosuna eklenir nerde nasıl kullanacağınız size kalmış.
    ayrıca doğrulama vs şeklinde geliştirebilirsiniz basit bir ilave form bu sadece
    Func dosyasına eklemeyi yaptım ancak herhangi bir yere yansımadı


  • 29-11-2023, 17:27:09
    #7
    giriş değil register linkine tıklayın
  • 29-11-2023, 17:28:18
    #8
    büyük ihtimal olmadı dediğiniz eklentiler de bu yüzden olmamıştır. login(giriş) değil register (kayıt) formuna eklenir
  • 29-11-2023, 17:43:32
    #9
    eşekkür ederim hocam çok sağolun ilginiz için bu veriler profile kaydolmuyor sanırsam sadece veritabanıdan mı ulaşabilirim