Eski bir konuymuş ama yine de başlalarının ihtiyacı olabilir diye cevaplayayım:
WordPress üzerinde fatura eklentisi kullanıyorsan, bu eklenti üzerinden genelde ek alanlar ekleyebilirsin. WooCommerce kullanıyorsan ve Checkout alanlarında TC Kimlik No gibi özel bir alan eklemek istiyorsan, şu adımları izleyebilirsin:
1. Functions.php Dosyasına Müdahale: Kullandığın temanın `functions.php` dosyasına gidip yeni bir fonksiyon ekleyebilirsin. Üzerine yazacağın kod, TC Kimlik No için yeni bir alan oluşturacak.
// 1. Checkout alanına TC Kimlik No ekle
add_filter( 'woocommerce_checkout_fields', 'ekle_tc_kimlik_no_alani' );
function ekle_tc_kimlik_no_alani( $fields ) {
$fields['billing']['billing_tc_kimlik_no'] = array(
'label' => 'T.C. Kimlik No',
'placeholder' => '11 haneli T.C. Kimlik No',
'required' => true,
'class' => array( 'form-row-wide' ),
'clear' => true,
'priority' => 25
);
return $fields;
}
2. TC Kimlik No Bilgisini Siparişe Kaydet
// 2. Sipariş verisi olarak kaydet
add_action( 'woocommerce_checkout_update_order_meta', 'kaydet_tc_kimlik_no' );
function kaydet_tc_kimlik_no( $order_id ) {
if ( ! empty( $_POST['billing_tc_kimlik_no'] ) ) {
update_post_meta( $order_id, '_billing_tc_kimlik_no', sanitize_text_field( $_POST['billing_tc_kimlik_no'] ) );
}
}
3. Admin Panelde Görüntüle
// 3. Admin sipariş sayfasında göster
add_action( 'woocommerce_admin_order_data_after_billing_address', 'goster_tc_kimlik_no_admin', 10, 1 );
function goster_tc_kimlik_no_admin( $order ) {
$tc = get_post_meta( $order->get_id(), '_billing_tc_kimlik_no', true );
if ( $tc ) {
echo '<p><strong>T.C. Kimlik No:</strong> ' . esc_html( $tc ) . '</p>';
}
}
Ekstra: TC Kimlik No'nun 11 Hane Olduğunu Doğrula
// 4. TC Kimlik No doğrulama (11 haneli mi?)
add_action( 'woocommerce_checkout_process', 'tc_kimlik_no_kontrol' );
function tc_kimlik_no_kontrol() {
if ( isset($_POST['billing_tc_kimlik_no']) && strlen( trim($_POST['billing_tc_kimlik_no']) ) !== 11 ) {
wc_add_notice( 'Lütfen geçerli bir 11 haneli T.C. Kimlik No giriniz.', 'error' );
}
}
Eklentine veya temana bağlı olarak yerleşik bir çözüm bulunabilir, bu yüzden önce eklenti veya tema belgelerine bir göz atmak da faydalı olabilir. Başka soruların olursa çekinme, her zaman buradayım!
gokhankaraofficial
gokhankaraofficial
'.__('TC Kimlik No').': ' . get_post_meta( $order->get_id(), '_shipping_tc', true ) . '
';