"Enter"a basıp içeriğe geçin

Woocommerce Eklentisiz Fatura Bilgilerine TC Kimlik No Ekleme ve Doğrulama

WordPress hazır içerik yönetim sistemi bizlere açık kaynak olmasından dolayı birçok özellik sağlıyor. Sadece WordPress değil kullandığımız eklentilerin kaynak dosyalarına erişerek yeni özellikler dahil edebiliyor veya gerekli düzenlemeleri sağlayabiliyoruz. İhtiyaçlar doğrultusunda gerekli kod blokları ile müdahale sağlayarak istediğimiz sonucu elde ediyoruz.

Woocommerce eklentisi bizlere bir e-ticaret sitesi yaratmamız için büyük bir kolaylık sağlıyor. Fakat E-Ticaret çok geniş bir alan olduğu için herkesin farklı istekleri doğrultusunda Woocommerce eklentisi geliştiricileri tarafından zamanla güncellenerek günümüzün modern taleplerini en stabil şekilde cevaplamaya çalışıyor. Fakat hızlı çözümler için dosyalara müdahalede bulunarak gerekli düzenlemeleri isteklerimiz doğrultusunda gerçekleştirebiliriz.

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. Arzu ederseniz bu alanları çoğaltarak Vergi Numarası, TC Kimlik No 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>';
}

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir