Eklentisiz Fatura Bilgilerine TC Kimlik No Ekleme ve Doğrulama

Woocommerce eklentisinin fatura bilgileri istenildiği sipariş ekranlarına müdahale ederek ekstra bir alan oluşturabiliriz. Bu yazımızda TC Kimlik Numarası isteyeceğiz. Bu sayede fatura kesmek isteyen firmalar bu bilgiyi kullanarak fatura kesebilirler. Bu alanları çoğaltarak Vergi Numarası gibi alanlar ekleyebilirsiniz.

Bu değişiklikleri yapmadan önce lütfen yedek almayı unutmayınız.

Öncelikle wp-content/ themes/ temaadiniz/ functions.php dosyamıza ulaşıyoruz. Temamızın içerisinde bulunan functions.php dosyasına aşağıda bulunan kod bloğunu ekleyiniz. Bu sayede fatura bilgileri ekranında TC Kimlik No alanı gelecektir.

/** TC Kimlik No Ekleme **/

add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );

function custom_override_checkout_fields( $fields ) {
$fields['billing']['shipping_tc'] = array(
'label' => __('TC Kimlik No', 'woocommerce'),
'placeholder' => _x('Fatura İçin Gerekli', 'placeholder', 'woocommerce'),
'required' => true,
'class' => array('form-row-wide'),
'clear' => true
);

return $fields;
}

TC Kimlik No alanı ekledikten sonra müşterinin gireceği TC Kimlik No doğruluğunu kontrol edecek kod alanını eklememiz gerekmektedir. Yukarıdaki kod bloğunun bitiminden sonra altına ekleyeceğiniz diğer kod aşağıda ki gibidir;

/** TC Doğrula  **/
function isTcKimlik($tc){
if(strlen($tc) < 11){ return false; }
if($tc[0] == '0'){ return false; }
$plus = ($tc[0] + $tc[2] + $tc[4] + $tc[6] + $tc[8]) * 7;
$minus = $plus - ($tc[1] + $tc[3] + $tc[5] + $tc[7]);
$mod = $minus % 10;
if($mod != $tc[9]){ return false; }
$all = '';
for($i = 0 ; $i < 10 ; $i++){ $all += $tc[$i]; }
if($all % 10 != $tc[10]){ return false; }

return true;
}
/**  TC Kimlik Noyu Doğrula **/
add_action('woocommerce_checkout_process', 'my_custom_checkout_field_process');

function my_custom_checkout_field_process() {
$tcno = $_POST['shipping_tc'];
if(!isTcKimlik($tcno))
wc_add_notice( __( 'Lütfen Geçerli TC Kimlik No Girin.' ), 'error' );
}

Müşteriden TC Kimlik bilgisini aldık ve gerekli onay işlemlerinden geçirdikten sonra artık müşteriden gelen TC Kimlik No bilgisini yönetici sayfasında göstermemiz gerekiyor. Sipariş detaylarında bu bilginin dahil edilip görünebilmesi için lütfen aşağıda ki kod bloğunu functions.php dosyanıza yazmaya devam ederek en alta yerleştiriniz.

/** Admin Sipariş Detayında Fatura Bilgilerinde TC No'yu Görebilmesi İçin**/

add_action( 'woocommerce_admin_order_data_after_billing_address', 'my_custom_checkout_field_display_admin_order_meta', 10, 1 );

function my_custom_checkout_field_display_admin_order_meta($order){
echo '<p><strong>'.__('TC Kimlik No').':</strong> ' . get_post_meta( $order->get_id(), '_shipping_tc', true ) . '</p>';
}

Kodlar Kodlayana, Kahveler Bana! ☕

Burada paylaştığım içerikler projelerinde işine yaradıysa veya sana zaman kazandırdıysa, bir kahve ısmarlayarak desteğini gösterebilirsin. Bu destek, daha fazla içerik üretmem için motive edici olacaktır.

☕ Bana Bir Kahve Ismarla

    1 Yorum

    1. Selim Y. dedi ki:

      Çok faydalı bir yazı olmuş, işlemini detaylı bir şekilde anlatmanız gerçekten işimi kolaylaştırdı. Bu tür pratik bilgiler çok değerli, teşekkürler!

    Bir yanıt yazın

    21 Aralık 2025

    WooCommerce için Ülkeye Göre Otomatik Para Birimi Değiştirme (Manuel Fiyat)

    E-ticaret sitelerinde yurt dışına satış yaparken en büyük dertlerden biri fiyatlandırmadır. Piyasadaki çoğu “Currency Switcher” (Para Birimi Değiştirici) eklentisi, fiyatı o anki kura göre otomatik çarpar. […]
    21 Aralık 2025

    Eklenti Çöplüğüne Son: WooCommerce Vitrin ve Fırsat Alanlarını Kodla Yönetin

    Standart WooCommerce bileşenleri (Son Eklenenler, Çok Satanlar vb.) çoğu zaman işimizi görse de, e-ticaret projelerinde sıklıkla daha spesifik alanlara ihtiyaç duyarız. “Editörün Seçimi“, “Haftanın Yıldızları” veya […]
    18 Aralık 2025

    Gereksiz Görsellerden Kurtulun: E-Ticaret Sitenizi Hafifletin

    WooCommerce tabanlı bir e-ticaret sitesi yönetiyorsanız, muhtemelen fark etmişsinizdir: Bir ürünü sildiğinizde, o ürüne ait fotoğraflar medya kütüphanenizde ve sunucunuzda kalmaya devam eder. WordPress, güvenlik önlemi […]