WooCommerce kutudan çıktığında dünyanın her yerinde satış yapacak şekilde gelir; Türkiye'de satış yapan bir mağaza için para birimi, sayı biçimi, KDV gösterimi, il seçimi ve fatura bilgileri gibi birkaç ayarın elden geçmesi gerekir. Bu ayarların çoğu tek seferliktir, ama yanlış kurulursa sonradan yüzlerce ürünün fiyatını düzeltmek zorunda kalabilirsiniz.
Bu yazı, WooCommerce'i zaten kurduğunuzu varsayar; kurulum adımları için WooCommerce kurulumu rehberine bakın. Burada ayarların WooCommerce tarafını anlatıyoruz. Hangi KDV oranının uygulanacağı, fatura türü veya mesafeli satış gibi hukuki ve mali konularda mali müşavirinizden destek alın ve bu konulardaki kardeş yazılarımıza bağlantılardan ulaşın.
Genel ayarlar: adres, satış bölgesi ve para birimi

Ayarların büyük kısmı WooCommerce > Settings > General ekranındadır. Mağaza adresi, vergi ve kargo hesaplarında başlangıç noktası olarak kullanılır; işletmenizin gerçek adresini girin.
| Ayar | Türkiye için öneri | Açıklama |
|---|---|---|
| Selling location(s) | Specific countries: Türkiye | Yalnızca yurt içine satıyorsanız diğer ülkeleri kapatın |
| Shipping location(s) | Satış yaptığınız ülkelere gönder | Kargo bölgelerini ayrıca tanımlarsınız |
| Default customer location | Shop country/region | Geolocate seçenekleri MaxMind ile konum tahmini yapar; tek ülkede satışta gerekmez |
| Currency | Turkish lira (₺) | WooCommerce tek para birimiyle çalışır |
| Currency position | Left (₺100,00) veya Right with space (100,00 ₺) | Görsel tercih; ikisi de olur |
| Thousand separator | Nokta (.) | Varsayılan virgüldür, değiştirin |
| Decimal separator | Virgül (,) | Varsayılan noktadır, değiştirin |
| Number of decimals | 2 | Kuruş göstermek istemiyorsanız 0 |
Arayüzü Türkçeye çevirmek
WooCommerce'in Türkçe çevirisi WordPress'in topluluk çeviri platformunda yürütülür. translate.wordpress.org verilerine göre kararlı sürümün Türkçe çevirisi yüzde 100 tamamlanmış durumda. Türkçe arayüz için:
Ayarlar > Genel > Site Dilialanında Türkçe'yi seçip kaydedin.Başlangıç > Güncellemelerekranında çeviri güncellemesi görünüyorsa Çevirileri güncelle düğmesine basın.- Tema veya eklentilerden biri İngilizce kalıyorsa, o eklentinin Türkçe çevirisi henüz tamamlanmamış olabilir; çeviri eklentisi kurmadan önce eklentinin sayfasında Türkçe dil desteğine bakın.
wp language core install tr_TR --activate
wp language plugin install woocommerce tr_TR
wp language plugin update --allKDV ayarları: WooCommerce tarafında mantık

WooCommerce'te vergi hesaplaması varsayılan olarak kapalıdır. Açmak için WooCommerce > Settings > General ekranında Enable tax rates and calculations kutusunu işaretleyip kaydedin; ardından WooCommerce > Settings > Tax sekmesi görünür. Burada vereceğiniz en önemli karar şudur:
| Ayar | Seçenekler | Ne zaman |
|---|---|---|
| Prices entered with tax | Yes, I will enter prices inclusive of tax / No, exclusive of tax | Fiyatları KDV dahil düşünüyorsanız Yes; mağazanın taban vergi oranına göre KDV'siz tutar hesaplanır |
| Calculate tax based on | Customer shipping address / billing address / Shop base address | Yalnızca Türkiye'de satışta Shop base address sonucu sabitler |
| Shipping tax class | Shipping tax class based on cart items veya belirli bir sınıf | Kargo ücretine hangi oranın uygulanacağı |
| Display prices in the shop | Including tax / Excluding tax | Mağaza ve ürün sayfalarında gösterim |
| Display prices during cart and checkout | Including tax / Excluding tax | Sepet ve ödeme sayfasında gösterim |
| Price display suffix | Serbest metin, örneğin KDV dahil | {price_including_tax} ve {price_excluding_tax} yer tutucuları kullanılabilir |
| Display tax totals | As a single total / Itemized | Birden fazla oran varsa Itemized hangi orandan ne kadar KDV olduğunu gösterir |
Fiyat girişini sonradan değiştirmek, girilmiş tüm fiyatların anlamını değiştirir. Bu nedenle ürün eklemeye başlamadan önce karar verin. Giriş ve gösterim ayarları birbiriyle çelişirse WooCommerce bir uyarı gösterir ve Use recommended settings ile ayarları uyumlu hâle getirebilirsiniz.
Vergi sınıfları ve oran tablosu
Farklı ürünlere farklı KDV oranları uygulanıyorsa her oran için bir vergi sınıfı kullanılır. Additional tax classes alanına her satıra bir sınıf adı yazın; her sınıf, Tax sekmesinde ayrı bir alt sekme olarak görünür. Standard rates sınıfı her zaman vardır ve silinemez. Her sınıfın tablosunda Insert row ile şu sütunları doldurursunuz:
| Sütun | Türkiye mağazası için |
|---|---|
| Country code | TR |
| State code, Postcode, City | Boş bırakın (tüm Türkiye için geçerli olur) |
| Rate % | Bu sınıftaki ürünlere uygulanan KDV oranı (mali müşavirinizle teyit edin) |
| Tax name | Faturada ve sepette görünecek ad, örneğin KDV |
| Priority, Compound | Tek oran kullanıyorsanız 1 ve işaretsiz |
| Shipping | Bu oranın kargo ücretine de uygulanıp uygulanmayacağı |
Son olarak her ürünün düzenleme ekranında, Ürün verileri kutusunun Genel sekmesindeki vergi durumu ve vergi sınıfı alanlarından doğru sınıfı seçin. Fiyat ve indirim gösterimine dair kurallar için indirim ve fiyat gösterimi kuralları yazısına bakın.
İl ve ilçe: adres alanları
WooCommerce, Türkiye için 81 ilin tamamını açılır liste olarak içerir (kaynak kodda TR01 Adana ile başlayan kodlar). Müşteri ülke olarak Türkiye'yi seçtiğinde il alanı otomatik olarak açılır listeye dönüşür; alanın etiketi kaynak kodda Province olarak tanımlıdır ve Türkçe arayüzde çevirisiyle görünür.
- İlçe: WooCommerce'te ayrı bir ilçe listesi yoktur. Şehir (Town / City) alanı serbest metin olarak kalır ve müşteriler genellikle ilçeyi buraya yazar. Alan etiketini ilçe olarak değiştirmek isterseniz bunu bir alan düzenleme yöntemiyle yapabilirsiniz.
- Posta kodu: Türkiye için posta kodu alanı varsayılan olarak zorunludur. Zorunluluğu kaldırmak istiyorsanız resmi
woocommerce_get_country_localefiltresiyle değiştirilebilir; değişiklikten sonra ödeme sayfasını mutlaka test edin. - Adres biçimi: Türkiye adresleri siparişte ad, firma, adres satırları, ardından posta kodu, şehir ve il sırasıyla yazdırılır.
İl bilgisinin standart bir listeden gelmesi, kargo bölgelerini il bazında tanımlamanızı da kolaylaştırır; bunun nasıl yapılacağını WooCommerce kargo ayarları yazısında anlatıyoruz.
Fatura bilgileri: TC kimlik ve vergi numarası alanı

WooCommerce'in varsayılan ödeme formunda ad, firma adı, adres, telefon ve e-posta vardır; TC kimlik numarası, vergi numarası veya vergi dairesi alanı yoktur. Fatura düzenlerken bu bilgilere ihtiyaç duyuyorsanız ödeme formuna alan eklemeniz gerekir. Hangi bilginin hangi durumda gerektiğini e-arşiv ve e-fatura zorunluluğu yazısında ve mali müşavirinizle netleştirin.
Ödeme sayfanızın türüne göre iki resmi yöntem vardır. Hangisini kullandığınızı anlamak için Ödeme sayfasını düzenleyin: Checkout bloğu görüyorsanız blok, Classic Shortcode görüyorsanız klasik ödeme sayfasındasınız.
Blok ödeme sayfası: Additional Checkout Fields API
WooCommerce geliştirici belgesi, Checkout bloğuna alan eklemek için woocommerce_register_additional_checkout_field() fonksiyonunu tanımlıyor. Fonksiyon woocommerce_init kancasında veya sonrasında çağrılmalı. location değeri contact, address veya order olabilir; order konumundaki alanlar yalnızca siparişe kaydedilir. Aşağıdaki örnek isteğe bağlı bir TC/VKN alanı ve vergi dairesi alanı ekler:
<?php
// Blok ödeme sayfası (Checkout block) için ek alanlar.
// Alt temanın functions.php dosyasına veya kendi küçük eklentinize ekleyin.
add_action( 'woocommerce_init', function () {
if ( ! function_exists( 'woocommerce_register_additional_checkout_field' ) ) {
return;
}
woocommerce_register_additional_checkout_field(
array(
'id' => 'magazam/tc-vkn',
'label' => 'TC Kimlik No veya Vergi No',
'optionalLabel' => 'TC Kimlik No veya Vergi No (isteğe bağlı)',
'location' => 'order',
'required' => false,
'attributes' => array(
'maxLength' => 11,
'pattern' => '[0-9]{10,11}',
'title' => '10 haneli vergi no veya 11 haneli TC kimlik no',
),
'sanitize_callback' => function ( $value ) {
return preg_replace( '/[^0-9]/', '', (string) $value );
},
'validate_callback' => function ( $value ) {
if ( '' !== $value && ! preg_match( '/^[0-9]{10,11}$/', $value ) ) {
return new WP_Error( 'magazam_tc_vkn', 'Lütfen 10 veya 11 haneli bir numara girin.' );
}
},
)
);
woocommerce_register_additional_checkout_field(
array(
'id' => 'magazam/vergi-dairesi',
'label' => 'Vergi Dairesi (kurumsal fatura için)',
'location' => 'order',
'required' => false,
)
);
} );Klasik ödeme sayfası: woocommerce_checkout_fields filtresi
Kısa kodlu klasik ödeme sayfasında alan eklemek için belgelenmiş yol woocommerce_checkout_fields filtresidir. Belgedeki örnekte olduğu gibi değer sipariş meta verisi olarak saklanır ve yönetim ekranında bir kanca ile gösterilir:
<?php
// Klasik (kısa kodlu) ödeme sayfası için: fatura bölümüne alan ekleme
add_filter( 'woocommerce_checkout_fields', function ( $fields ) {
$fields['billing']['billing_tc_vkn'] = array(
'type' => 'text',
'label' => 'TC Kimlik No veya Vergi No',
'required' => false,
'class' => array( 'form-row-wide' ),
'clear' => true,
);
return $fields;
} );
// Sipariş yönetim ekranında fatura adresinin altında göster
add_action( 'woocommerce_admin_order_data_after_billing_address', function ( $order ) {
$deger = $order->get_meta( '_billing_tc_vkn' );
if ( $deger ) {
echo '<p><strong>TC/VKN:</strong> ' . esc_html( $deger ) . '</p>';
}
} );Bilgi olarak: iyzico'nun WooCommerce eklentisi, kaynak koduna göre ödeme isteğindeki alıcı kimlik numarası alanını kendisi sabit bir değerle dolduruyor. Yani bu alanı ödeme altyapısı için değil, yalnızca kendi fatura süreciniz için eklersiniz. Ödeme eklentilerinin kurulumu iyzico ve PayTR eklenti rehberinde.
Yasal sayfaları WooCommerce'e bağlamak
Yasal metinlerin içeriğini bu yazıda anlatmıyoruz; burada yalnızca bu sayfaları WooCommerce'e nasıl bağlayacağınızı gösteriyoruz:
- Şartlar ve koşullar:
WooCommerce > Settings > Advancedekranındaki Page setup bölümünde Terms and conditions sayfası seçildiğinde ödeme sayfasına şartlar bağlantısı eklenir. Bu sayfada mesafeli satış sözleşmesi ve ön bilgilendirme formu metinlerine bağlantı verebilirsiniz. - Gizlilik politikası:
WooCommerce > Settings > Accounts & Privacyekranında gizlilik politikası sayfasını ve kayıt ile ödeme sırasında gösterilecek gizlilik metnini ayarlarsınız. - İade ve cayma: Ayrı bir iade sayfası oluşturup alt menüye ve ürün sayfalarına bağlantı verin; kurallar için cayma hakkı ve iade kuralları yazısına bakın.
Kontrol listesi
| Kontrol | Nerede | Tamam mı? |
|---|---|---|
| Para birimi TRY, ayırıcılar nokta ve virgül | Settings > General | Ürün sayfasında 1.250,00 ₺ gibi görünmeli |
| Satış bölgesi Türkiye | Settings > General | Ödeme sayfasında ülke listesi kısalmalı |
| Vergi açık, fiyat girişi kararı verildi | Settings > General ve Tax | Sepette KDV satırı beklediğiniz gibi |
| Ağırlık kg, ölçü cm | Settings > Products | Kargo hesabı doğru |
| Site dili Türkçe, çeviriler güncel | Ayarlar > Genel, Güncellemeler | Ödeme sayfası Türkçe |
| Fatura alanları ekli ve test edildi | Alt tema veya küçük eklenti | Test siparişinde değer siparişe kaydedildi |
| Şartlar ve gizlilik sayfaları atandı | Settings > Advanced, Accounts & Privacy | Ödeme sayfasında bağlantılar görünüyor |
Sık Sorulan Sorular
Fiyatları KDV dahil mi girmeliyim, hariç mi?
WooCommerce ikisini de destekler. Tüketiciye satış yapan çoğu mağaza için ürün fiyatını müşterinin göreceği son fiyat olarak girmek pratiktir; bu durumda Prices entered with tax ayarını Yes yapın. Hangi seçimi yaparsanız yapın, ürün eklemeye başlamadan önce karar verin.
WooCommerce Türk illerini tanıyor mu?
Evet, 81 il WooCommerce çekirdeğinde açılır liste olarak tanımlıdır. İlçe için ayrı bir liste yoktur; şehir alanı serbest metindir.
TC kimlik alanını zorunlu yapmalı mıyım?
Bu, fatura sürecinize bağlı bir karardır. Kişisel veri olduğu için yalnızca gerekiyorsa isteyin; ihtiyacı mali müşavirinizle belirleyin. Teknik olarak yukarıdaki örneklerde required değerini değiştirmeniz yeterlidir.
Kodu nereye eklemeliyim?
WooCommerce belgesi alt temanın functions.php dosyasını öneriyor. Kodu önce bir test kopyasında deneyin ve eklemeden önce yedek alın.
Yazılım, eklenti ve hizmet adları sahiplerine aittir. Bu yazı bağımsız bir teknik rehberdir; adı geçen şirketlerle bayilik veya ortaklık ilişkisi bulunduğu anlamına gelmez.
İlgili içerikler: WooCommerce kurulumu · iyzico ve PayTR eklentisi kurulumu · WooCommerce kargo ayarları · WooCommerce ödeme sayfası hataları · E-ticaret sitesinde zorunlu sayfalar · E-ticaret sitesi nasıl kurulur · wp-config.php sabitleri