hallettim demişsin ama keşke başkalarına lazım olur diye düşünüp çözümünü söyleseydin.
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!