WooCommerce Eklentileri için Kapsamlı Rehber ve Kod Açıklamaları: Kurulumdan Özelleştirilmiş Geliştirmeye

3 dakika okuma.
2026-03-16
2026-06-04
2,773
Aşağıdaki bağlantılar üzerinden alışveriş yaptığınızda, sizin için ek bir maliyet olmadan komisyon kazanıyorum.

WooCommerce Kurulumu ve Temel Ayarları

WooCommerce’ın kurulum süreci basit olsa da, doğru başlangıç ayarları stabil bir e-ticaret sitesi oluşturmanın temelidir. Öncelikle, PHP 7.4 veya daha yüksek bir sürümün çalıştığı ve WordPress’in yüklü olduğu bir sunucu ortamına ihtiyacınız var. WordPress arayüzündeki “Eklentiler” > “Eklenti Yükle” sayfasından “WooCommerce”“ı arayıp yükleyip etkinleştirebilirsiniz. Etkinleştirmeden sonra, sistem otomatik olarak ”Ayarlar Rehberi”ni başlatacak ve mağazanızın temel ayarlarını tamamlamanıza yardımcı olacaktır.

Ayarlama rehberinde sırasıyla şunları tamamlamanız gerekecektir: Mağazanın bulunduğu yeri, para birimini ve birimlerini belirleyin; ödeme yöntemlerini (örneğin PayPal, Stripe veya banka havalesi) yapılandırın; kargo ücreti hesaplama kurallarını (örneğin ücretsiz kargo, sabit kargo ücreti veya ağırlığa/adrese göre değişen gerçek zamanlı ücretler) ayarlayın; ayrıca WooCommerce Payments veya yerelleştirme eklentileri gibi bazı gerekli eklentilerin kurulmasını öneririz. Rehberi tamamladıktan sonra, WooCommerce’ın temel ayarlar paneline geçersiniz. Burada dikkatlice yapılandırmanız gereken birkaç önemli bölüm bulunmaktadır: “Genel” seçeneğinde satış yerlerini ve vergi oranı hesaplamalarını ayarlayabilirsiniz; “Ürünler” seçeneğinde ölçüm birimlerini, ürün yorumlarını ve stok yönetimini tanımlayabilirsiniz; “Ödeme” sayfasında tüm ödeme ağ geçitlerini ve ödeme süreçlerini yapılandırabilirsiniz; “Kargo” seçeneği ise gönderim bölgelerini, yöntemlerini ve paketleme işlemlerini yönetmek için kullanılır.

Sıkça göz ardı edilen ancak son derece önemli bir adım, kalıcı bağlantıların (permanent links) yapılandırılmasıdır. WordPress’in “Ayarlar” (Settings) > “Kalıcı Bağlantılar” (Permalinks) bölümünde, “Sade” (Simple) yapılandırmasını kullanmamaya dikkat edin; “Makale Adı” (Article Title) veya özel bir yapılandırma kullanmanız önerilir; bu, ürün sayfalarının SEO’su için faydalıdır. Aynı zamanda, WooCommerce’in “Gelişmiş” (Advanced) ayarlar sayfasında, alışveriş sepeti, ödeme, hesabım gibi çeşitli sayfalar için ilgili WordPress sayfalarını atamanız gerekir. Bu sayfalar, eklenti kurulduğunda otomatik olarak oluşturulmuştur.

Tavsiye edilen okuma WooCommerce Özelleştirme Geliştirme Kılavuzu: Başlangıçtan İleri Seviyeye Kadar Tam Bir Pratik Eğitim Kitabı

Mağaza Temel Bilgi Ayarları

Mağazanın temel bilgi ayarları esas olarak WordPress Özelleştiricisi ve WooCommerce’in Genel Ayarları bölümlerinde yapılır. Mağaza adresinin, müşteri hizmetleri e-posta adresinin ve telefon numarasının doğru olduğundan emin olmanız gerekir; bu bilgiler sipariş bildirimlerinde, faturalarda ve sayfa alt kısmında görünecektir. Ayrıca, “Genel” ayarlarının “Para Birimi Seçenekleri” bölümünde para birimi formatını ayarlayabilirsiniz; örneğin Çin Yuanı (¥123.00) veya Amerikan Doları ($123.00) gibi.

UltaHost WordPress Sunucusu
30 gün iade garantisi, sınırsız bant genişliği ve veritabanı kullanımı, ücretsiz DDoS koruması; 3 yıllık abonelikte indirim (50%).

Ödeme ve Teslimat Ağ Geçidi Entegrasyonu

Ödeme ağ geçitleri, e-ticaretin can damarlarıdır. WooCommerce, çeşitli ödeme yöntemleri sunar. WC_Gateway_BACS(Banka Havalesi)WC_Gateway_CHEQUE(Çek ödemesi) ve WC_Gateway_COD(Ödeme teslimat anında yapılır). Stripe veya PayPal gibi gelişmiş ödeme ağlarını kullanabilmek için genellikle ayrı eklentilerin kurulması ve API anahtarlarının yapılandırılması gerekmektedir. Örneğin, Stripe’ı yapılandırırken, ilgili ayar sayfasında yayınlanan anahtarı ve gizli anahtarı girmeniz gerekmektedir.

Teslimat ayarları da aynı derecede önemlidir. “Teslimat Bölgeleri” bölümünde farklı ülkeler veya bölgeler için ayrı kargo ücreti kuralları oluşturabilirsiniz. Örneğin, Çin anakarası için bir bölge belirleyip “Ücretsiz Kargo”, “Tek Tip Ücretlendirme” ve “Yerel Alım” gibi çeşitli seçenekler ekleyebilirsiniz. woocommerce_shipping_init Geliştiriciler, tamamen özelleştirilmiş dağıtım yöntemi sınıfları bile oluşturabilirler.

Çekirdek İşlevler ve Veri Yönetimi

WooCommerce, tüm e-ticaret verilerini WordPress’in özel makale türleri ve kategorileriyle bütünleştirir. Ürünler şu şekilde saklanır: product Makale türleri; siparişler ise buna karşılık gelir. shop_order Makale türü. Bu veri modelini anlamak, ileri düzeyde özelleştirilmiş geliştirmeler yapmanın ön koşuludur.

Ürün yönetimi, temel işlevlerin en önemlilerindendir. WooCommerce, dört farklı ürün türünü destekler:simple(Basit ürünler),grouped(Grup ürünleri),external(Dış/İlişkili Ürünler) ve variable(Değişken ürünler): Değişken ürünler, aynı ürün için farklı özelliklerin (örneğin renk, boyut) ve bunlara karşılık gelen fiyatların, stok durumlarının ve SKU’ların (Ürün Kimlik Numaraları) ayarlanmasına olanak tanır. Ürünü arka planda düzenlerken, stok SKU’larını, fiyatları, stok durumlarını, teslimat bilgilerini ve ilgili ürün görsellerini yönetmek için bir dizi meta veri kutusundan yararlanırsınız.

Tavsiye edilen okuma WooCommerce nedir ve temel yapısı nasıldır?

Sipariş yönetim arayüzü, kapsamlı bir satış özeti sunmaktadır. Her sipariş, zengin meta veriler içeren bir birimdir. shop_order Bu gönderi, müşteri bilgilerini, satın alınan ürünleri, fiyatları, ödeme durumunu ve sipariş notlarının geçmişini kaydeder. Durum yönetimi çok önemlidir; varsayılan durumlar arasında… pending(Ödeme bekleniyor),processing(İşlemde),on-hold(Duraklama) ve completed(İşlem tamamlandı.) Artık bunu kullanabilirsiniz. wc_get_order_statuses Fonksiyon tüm durumları alır ve bunları… woocommerce_register_shop_order_post_statuses Filtre, özel bir durum (kullanıcı tarafından tanımlanmış bir durum) kaydeder.

Ürün Türleri ve Özellikleri Yönetimi

Ürün özellikleri, karmaşık ürün kataloglarını düzenlemek için çok kullanışlı araçlardır. “Ürün” > “Özellikler” bölümünde “renk” veya “beden” gibi genel özellikler oluşturabilirsiniz. Daha sonra, değişken ürünleri düzenlerken bu özellikleri kullanarak “özellik kombinasyonları” oluşturabilir ve her kombinasyon için (örneğin “kırmızı-büyük”) ayrı varyasyon verileri belirleyebilirsiniz. Kod seviyesinde ise bu işlemler şu şekilde gerçekleştirilebilir: WC_Product_Variable Sınıflar ve bunlarla ilgili diğer şeyler… get_available_variations() Tüm varyasyon bilgilerini almak ve üzerinde işlem yapmak için yöntemler.

Sipariş ve Müşteri Veri İşleme

WooCommerce kullanımı. WC_Order Sipariş verilerini kapsamak için bir sınıf kullanılır. Bu sınıf sayesinde, siparişleri programatik olarak oluşturabilir veya güncelleyebilirsiniz. Örneğin, aşağıdaki kod yeni bir sipariş oluşturmayı ve bir ürün eklemeyi göstermektedir:

hosting.com Paylaşımlı Barındırma
AMD EPYC CPU'lar, NVMe SSD depolama ve LiteSpeed ile yüksek performans, 7/24, 7x7 uzman şirket içi destek, SSL, kaba kuvvet, kötü amaçlı yazılım ve DDoS koruması dahil gelişmiş güvenlik önlemleri, 73%'ye kadar tasarruf
// 创建一个新订单对象
$order = wc_create_order();

// 通过商品ID获取商品对象并添加到订单中
$product = wc_get_product(123);
$order->add_product($product, 2); // 数量为2

// 设置客户地址
$order->set_address(array(
    'first_name' => '张',
    'last_name'  => '三',
    'email'      => '[email protected]',
    'phone'      => '13800138000',
), 'billing');

// 计算总额并保存
$order->calculate_totals();
$order->save();

Müşteri verileri, WordPress kullanıcılarıyla ilişkilidir.WP_UserDerin bağlantı (deep integration). WooCommerce bunu şu şekilde sağlar: wc_get_customer_order_countwc_get_customer_total_spent Bu tür fonksiyonlar, kullanıcıların yeteneklerini genişletir.

Konu entegrasyonu ve şablon kapsamı.

WooCommerce’in temalarla entegrasyon seviyesi, mağazanın ön uç (kullanıcı arayüzü) deneyimini belirler. Güçlü bir şablon sistemi kullanır ve tüm ön uç görüntüleme dosyaları (ürün listeleri, tek ürün sayfaları, alışveriş sepeti vb.) eklenti kataloğunda bulunur. /templates/ Bu şablonlar bir klasörde bulunmaktadır. Çekirdek eklenti dosyalarını değiştirmeden bu şablonları özelleştirmek için, bunları kendi temanınıza kopyalamanız gerekmektedir.

Doğru yöntem şu: Etkinlik teması dizininizde, “” adında bir dosya oluşturun. woocommerce İlgili klasörü oluşturun. Daha sonra, değiştirmek istediğiniz WooCommerce şablon dosyasını eklenti dizininden bu yeni klasöre kopyalayın ve değişiklikleri bu kopyada yapın. Örneğin, tek bir ürün sayfasının yapısını değiştirmek istiyorsanız, ilgili şablon dosyasını kopyalamanız gerekecektir. plugins/woocommerce/templates/single-product.phpthemes/your-theme/woocommerce/single-product.phpWooCommerce, temadaki şablon dosyalarını öncelikli olarak yükler.

Tavsiye edilen okuma WooCommerce Kapsamlı Web Sitesi Kurma Rehberi: Sıfırdan E-ticaret İmparatorluğunuzu Oluşturun

Tüm dosyayı değiştirmenin yanı sıra, belirli yerlere içerik eklemek veya değiştirmek için Eylem Kancaları (Action Hooks) ve Filtre Kancaları (Filter Hooks) da kullanabilirsiniz. Örneğin,woocommerce_before_single_product_summary Kancalar, ürün özet bilgilerinin önünde tetiklenir ve özel banner reklamlar eklemek için ideal bir yerdir.

Özelleştirilmiş şablon dosyası yapısı

WooCommerce’in şablon dosyaları net bir hiyerarşiye sahiptir. Ürün döngüsü örneğini ele alalım…archive-product.php Bu, mağaza sahibi sayfa şablonudur ve ilgili işlemleri gerçekleştirecektir. content-product.php Her ürünü renderlemek için bu dosyaları değiştirebilirsiniz. Bu dosyaları değiştirerek, ürünlerin listede nasıl görüntülendiğini tamamen değiştirebilirsiniz; örneğin, düzeni ızgara veya liste şekline dönüştürebilir, veya özel rozetler ekleyebilirsiniz.

InterServer Paylaşımlı Barındırma
Paylaşımlı hosting aylık $2.50 USD, ilk ay $0.1 USD promosyon kodu tryinterserver, 461 bulut uygulaması komut dosyası, tek tıklamayla yükleme.

İşlevsellik genişletmek için hook’lar kullanılır.

Kancalar (hooks), WooCommerce eklentilerinin temel yapılarını oluşturur. Eylem kancaları (action hooks), örneğin alışveriş sepeti sayfasının ardına özel bir bilgi kutusu eklemek gibi işlemler yapmanıza olanak tanır.

add_action('woocommerce_after_cart_table', 'my_custom_cart_message');
function my_custom_cart_message() {
    echo '<div class="custom-notice">500 TL ve üzeri alışverişlerde kargo ücretsiz!</div>';
}

Filtre hook’ları, verileri “değiştirmenize” olanak tanır. Örneğin, bunları kullanarak… woocommerce_add_to_cart_fragments Filtreler, mini alışveriş sepetinin içeriğini dinamik olarak güncelleyebilir:

add_filter('woocommerce_add_to_cart_fragments', 'update_mini_cart_count');
function update_mini_cart_count($fragments) {
    $fragments['div.cart-count'] = '<div class="cart-count">' . WC()-&gt;cart-&gt;get_cart_contents_count() . '</div>';
    return $fragments;
}

Gelişmiş Özelleştirme ve Geliştirme Uygulamaları

Yerleşik özellikler ve araçlar ihtiyaçları karşılayamadığında, daha derinlemesine özelleştirilmiş geliştirmelere ihtiyaç duyulur. Bu, özel ürün türleri oluşturmayı, özel ödeme veya teslimat ağ geçitleri yazmayı ve REST API aracılığıyla dış sistemlerle entegrasyon yapmayı içerir.

Özel ürün türleri oluşturmak için genişletme yapılması gerekmektedir. WC_Product Sınıf. Öncelikle, ondan türetilen yeni bir sınıf tanımlamanız ve bu ürün türünü kaydetmeniz gerekiyor. Örneğin, “Rezervasyon” adında bir ürün sınıfı oluşturun:

class WC_Product_Booking extends WC_Product {
    public function __construct($product) {
        parent::__construct($product);
        $this->product_type = 'booking';
    }
    // 在这里添加自定义方法和属性,如 get_booking_dates()
}
// 将新类注册到工厂
add_filter('woocommerce_product_class', 'register_booking_product_class', 10, 2);
function register_booking_product_class($classname, $product_type) {
    if ($product_type == 'booking') {
        $classname = 'WC_Product_Booking';
    }
    return $classname;
}

WooCommerce REST API, mobil uygulamalar veya harici yönetim sistemleri için güçlü bir arayüz sunar. API’yi kullanarak ürünler, siparişler, müşteriler ve hemen hemen tüm verileri yönetebilirsiniz. API’ye erişmek için öncelikle arka uçtaki “WooCommerce” > “Ayarlar” > “Gelişmiş” > “Eski API” bölümünde API anahtarlarını (Consumer Key & Consumer Secret) etkinleştirmeniz ve oluşturmanız gerekir. Daha sonra aşağıdakine benzer uç noktaları (endpoints) kullanarak çağrılar yapabilirsiniz:GET /wp-json/wc/v3/products Ürün listesini almak için…

Özel bir ağ geçidi geliştirmek

Özel bir ödeme ağ geçidi, mevcut ödeme sistemlerinin işlevlerini genişleten bir yazılımdır. WC_Payment_Gateway Bu bir PHP sınıfıdır. Bu sınıf içinde ağ geçidinin ID’sini, başlığını, açıklamasını, ödeme alanlarını tanımlamanız ve bunları gerçekleştirmeniz gerekmektedir. process_payment Ödeme mantığını tamamlamak için belirli yöntemler kullanılır. Geliştirme işlemi tamamlandıktan sonra, bunların doğru bir şekilde uygulanması ve test edilmesi gerekmektedir. woocommerce_payment_gateways Filtre, bunu kullanılabilir ağ geçitleri listesine ekler.

Dış servislerle API entegrasyonu yapmak

WooCommerce, ERP, CRM veya lojistik sistemlerle entegrasyon için birçok hook (eşleştirme mekanizması) sunar. Örneğin, bir siparişin durumu “Tamamlandı”ya değiştiğinde bu durum tetiklenir. woocommerce_order_status_completed Eylem kancası (Action Hook): Bir fonksiyonu bu kancaya bağlayabilir ve sipariş verilerini stok yönetim sisteminize gönderebilirsiniz.

add_action('woocommerce_order_status_completed', 'sync_order_to_erp');
function sync_order_to_erp($order_id) {
    $order = wc_get_order($order_id);
    $data = array(
        'order_id' => $order->get_id(),
        'total'    => $order->get_total(),
        // ... 准备其他数据
    );
    // 使用 wp_remote_post 将 $data 发送到外部 API
}

Özetle.

WooCommerce sadece bir eklenti değil; aynı zamanda kapsamlı özelliklere sahip ve yüksek derecede genişletilebilir bir e-ticaret geliştirme çerçevesidir. Basit kurulum ve yapılandırmadan derinlemesine özelleştirmelere kadar, net bir şablon sistemi, zengin eklentiler (Actions & Filters) ve nesne yönelimli bir veri modeli aracılığıyla geliştiricilere sınırsız olanaklar sunar. Bir WooCommerce mağazası başarıyla oluşturmanın anahtarı şunlardır: Mağazanın stabil çalışmasını sağlayacak sağlam temel ayarlar; ürün ve sipariş veri modellerini derinlemesine anlamak; şablonlar ve eklentileri kullanarak ön yüzü özelleştirmek; ve özel sınıflar, ağ geçitleri (gateways) ve API’ler aracılığıyla özgün iş ihtiyaçlarını karşılayabilme yeteneğine sahip olmak. Bu en iyi uygulamalara uyarak, iş mantığına tamamen uygun, güçlü ve verimli bir çevrimiçi mağaza oluşturabilirsiniz.

Sıkça Sorulan Sorular.

“Alışveriş sepetine ekle” butonunun yazısını nasıl değiştirebilirim?

Bunu kullanabilirsiniz. woocommerce_product_add_to_cart_text Filtre veya woocommerce_product_single_add_to_cart_text Düğme metnini değiştirmek için filtreler kullanılır. Örneğin, aşağıdaki kod tek bir ürün sayfasındaki düğme yazısını “Hemen Satın Al” olarak değiştirir:

add_filter('woocommerce_product_single_add_to_cart_text', 'change_single_add_to_cart_text');
function change_single_add_to_cart_text() {
    return '立即购买';
}

Arşiv sayfası (ürün listesi) için lütfen şu yöntemi kullanın: woocommerce_product_add_to_cart_text Filtreler kullanılmalı ve ürün türünün belirlenmesi için fonksiyon içinde bir kontrol yapılmalıdır.

Belirli bir ürün kategorisine özel alanlar (custom fields) nasıl eklenir?

WooCommerce’in ürün kategorileri eklentilerini ve WordPress’in terim meta verileri API’sini birlikte kullanmanız gerekiyor. Öncelikle, product_cat_add_form_fieldsproduct_cat_edit_form_fields Eylemler, kategori ekleme/düzenleme sayfasında çıktı alanlarına eklenir. Daha sonra, bu çıktı alanları kullanılır. created_termedit_term Eylem, alan değerlerini kaydetmek için… term_metaSon olarak, şablon dosyasında bunu kullanabilirsiniz. get_term_meta Bu değeri almak ve göstermek için…

Özelleştirdiğim şablon değişiklikleri neden etkili olmuyor?

Lütfen aşağıdaki adımları takip ederek sorunu giderin: Öncelikle, şablon dosyasını doğru tema yoluna kopyaladığınızdan emin olun:your-theme/woocommerce/ Aşağıdaki adımları izleyin ve katalog yapısının orijinal eklenti şablonuyla aynı olduğundan emin olun. İkincisi, tüm önbellekleri temizleyin; bunlar arasında tarayıcı önbelleği, WordPress nesne önbelleği ve herhangi bir sunucu tarafı önbelleği (örneğin OPcache) bulunmaktadır. Son olarak, temanızı kontrol edin. functions.php WooCommerce desteğinin doğru bir şekilde beyan edildiğinden emin misiniz?add_theme_support('woocommerce');Eğer sorun hala devam ediyorsa, temanın uyumluluk sorunlarını ortadan kaldırmak için geçici olarak varsayılan temaya (örneğin Storefront) geçmeyi deneyin.

Bir WooCommerce değişken ürününü programatik olarak nasıl oluşturabilirsiniz?

Kullanmanız gerekiyor. WC_Product_Variable Sınıf. Temel adımlar şunlardır: Bir ürün nesnesi oluşturun ve temel özellikleri ayarlayın; renk gibi küresel özellikler oluşturun ve ekleyin; bu özellikler için belirli özellik kombinasyonları (yani varyantlar) oluşturun; ve son olarak her varyant için ayrı bir nesne oluşturun. WC_Product_Variation Bir nesneye fiyat, stok gibi özel özellikler ayarlanır ve bu nesne ana ürüne bağlanır. Bu, genellikle birkaç adımdan oluşan bir süreçtir. wp_set_object_terms, set_attributes, ve save ve benzeri yöntemler.