WooCommerce nedir ve nasıl çalışır?

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

WooCommerce nedir ve nasıl çalışır?

WooCommerce, WordPress tabanlı bir açık kaynaklı e-ticaret eklentisidir ve herhangi bir standart WordPress sitesini özelliklerle dolu bir çevrimiçi mağazaya dönüştürebilir. Temelinde, WordPress içerik yönetim sistemi ile e-ticaret özelliklerini birbirine bağlayan bir araç bulunmaktadır. Bu eklenti ilk olarak WooThemes tarafından geliştirilmiş ve şu anda Automattic şirketinin bir projesi haline gelmiştir; ayrıca WordPress ekosistemiyle derinlemesine entegre edilmiştir.

İşleyiş prensibi şu şekildedir: WordPress veritabanına, ürünler, siparişler, müşteri bilgileri gibi e-ticaret verilerini saklamak için özel veritabanı tabloları ekler. Aktive edildiğinde… WooCommerce Eklenti yüklendikten sonra, WordPress yönetici arayüzüne bir dizi menü ve seçenek ekler; aynı zamanda mağaza ana sayfası, alışveriş sepeti ve ödeme sayfası gibi gerekli sayfaları ön tarafta oluşturur. Arka uç mantığı ise bir dizi eylem kancası (action hooks) ve filtre kancası (filter hooks) aracılığıyla işler. woocommerce_before_main_contentwoocommerce_after_shop_loop_itemGeliştiricilere özellikleri ve görünümü derinlemesine özelleştirmelerine olanak tanıyan bir çözüm.

Bu platform, tipik bir MVC (Model-View-Controller) mimari modelini takip etmektedir; ancak WordPress bağlamında bazı ayarlamalar yapılmıştır. Veri modeli (model), ürün ve sipariş sınıfları tarafından oluşturulmaktadır (örneğin…). WC_ProductWC_OrderYönetim ve gösterim katmanı (görünüm), tema şablon dosyaları aracılığıyla kontrol edilir; iş mantığı (kontrolör) ise eklentinin çekirdeği ve birçok “hook” (bağlantı noktası) tarafından işlenir. Bu yapı, yüksek derecede esneklik ve genişletilebilirlik sağlar.

Tavsiye edilen okuma 2025 WooCommerce kapsamlı rehberi: Çevrimiçi mağazanızı sıfırdan oluşturun.

İlk WooCommerce mağazanızı nasıl kurar ve yapılandırırsınız?

WooCommerce’ı kurma süreci, diğer herhangi bir WordPress eklentisini kurma sürecinden farklı değildir. En doğrudan yol, WordPress yönetici arayüzündeki “Eklentiler” -> “Eklenti Yükle” sayfasından arama yaparak eklentiyi yüklemektir.

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%).

Eklenti yüklendikten ve etkinleştirildikten sonra, sistem sizi temel ayarları yapmanıza yardımcı olacak bir ayar yönlendiricisi başlatacaktır. Bu aşama çok önemlidir, çünkü mağazanın temel yapısını belirler. Aşağıda, temel ayarlama adımlarının ayrıntılı açıklamaları bulunmaktadır.

Mağazanın temel bilgilerini ayarlayın.

Ayarlama sihirbazı ilk olarak sizden mağaza adresini, para birimi türünü, satılan ürün türlerini (fiziksel ürünler, dijital ürünler veya her ikisini de) ve ödeme yöntemleri ile teslimat bölgelerinin ön ayarlarını girmenizi isteyecektir. Örneğin, para birimi olarak “Çin Yuanı”nı seçtiğinizde, eklenti veritabanında ilgili ayar seçeneklerini belirleyecektir.

Bu ayarlar esas olarak WordPress’in içinde saklanmaktadır. wp_options Tabloda, woocommerce_ Önekli seçenek adlarını saklayın. Örneğin, mağaza ülke/bölge bilgileri şu şekilde saklanır: woocommerce_default_country Seçenekler arasında yer alır. Bu temel ayarlar, sonraki tüm özelliklerin çalışması için gerekli temeli oluşturur.

Temel ödeme ve teslimat ayarlarını yapılandırın.

Ödeme ve teslimat, e-ticaretin temelini oluşturur. WooCommerce, PayPal Standart Sürümü, banka havalesi ve çek ödemeleri gibi çeşitli ödeme ağ geçitlerini içerir. Bunları “WooCommerce” -> “Ayarlar” -> “Ödemeler” sayfasından etkinleştirebilir ve yapılandırabilirsiniz. PayPal ödemeleri için, işletme hesabınızın e-posta adresini ve API anahtarını girmeniz gerekmektedir.

Tavsiye edilen okuma WooCommerce ile Web Sitesi Kurma Kılavuzu: Sıfırdan Başlayarak Güçlü ve Bağımsız Bir E-Ticaret Sitesi Oluşturma

Taşıma ayarları da aynı derecede önemlidir. “WooCommerce” → “Ayarlar” → “Kargo” sayfasında kargo bölgeleri ekleyebilir ve her bölge için farklı kargo yöntemleri (örneğin ücretsiz kargo, sabit ücret veya yerinde teslimat) ve ücretler belirleyebilirsiniz. Eklenti kullanımı da bu süreçte yardımcı olur. WC_Shipping_Method Sınıflar, çeşitli teslimat yöntemlerini soyutlamak için kullanılır ve geliştiricilerin özelleştirilmiş teslimat mantığı oluşturmalarına olanak tanır.

Tipik bir birleşik ücretlendirme dağıtım kodu örneği, alışveriş sepetinin ağırlığına göre ek ücret eklemek için aşağıdaki gibi olabilir:

add_filter( 'woocommerce_package_rates', 'add_shipping_surcharge_by_weight', 10, 2 );
function add_shipping_surcharge_by_weight( $rates, $package ) {
    $cart_weight = WC()->cart->get_cart_contents_weight();
    foreach ( $rates as $rate_key => $rate ) {
        if ( 'flat_rate' === $rate->method_id ) {
            if ( $cart_weight > 10 ) {
                $rates[$rate_key]->cost += 20;
            }
        }
    }
    return $rates;
}

Genişletmeleri ve kancaları kullanarak gelişmiş özelleştirmeler yapın.

WooCommerce’in gerçek gücü, geniş eklenti kütüphanesinde (resmi olarak “WooCommerce Eklentileri” olarak adlandırılır) ve geliştiricilere dost olan hook (bağlantı noktası) sistemindedir. Bu özellikler sayesinde, kutudan çıktığı haliyle sunulan özelliklerin ötesine geçerek, işletmenizin özel ihtiyaçlarına uygun mağazalar oluşturabilirsiniz.

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

Resmi genişletme pazarı, abonelik hizmetlerinden rezervasyon sistemlerine, üyelik sistemlerine kadar çeşitli gelişmiş özellikler sunan eklentiler sunmaktadır. Ancak, daha özelleştirilmiş ihtiyaçlar için, eylem kancaları (action hooks) ve filtre kancaları (filter hooks) kullanarak doğrudan geliştirme yapmak standart bir yaklaşımdır.

Özelleştirilmiş ürün verilerinin gösterimini gerçekleştirme

Şarap satıyorsanız, ürün sayfasında “yıl” bilgisini göstermeniz gerekecektir. WooCommerce, özel ürün alanları eklemenizi ve bunları ön tarafta görüntülemenizi kolaylaştırır. Bu genellikle, ürün veri meta kutuları ile şablonların birleştirilmesi yoluyla yapılır.

Öncelikle, kullanmanız gereken şey… woocommerce_product_options_general_product_data Kancalar, ürün düzenleme sayfasının “Genel” sekmesine bir alan ekler. Daha sonra, bu alanı kullanın. woocommerce_process_product_meta Bu alanın değerini bir “kancaya” (hook) kaydederiz. Son olarak, bu değeri görüntülemek için ilgili ürün detayları şablon dosyasını değiştirmeniz gerekir. Genellikle, woocommerce/templates/single-product/ Katalogdaki şablon dosyalarını tema klasörünüze kopyalayın. your-theme/woocommerce/single-product/ Orada değişiklikler yapın.

Tavsiye edilen okuma WooCommerce E-Ticaret Sitesi Geliştirme: Sıfırdan Başlayarak Profesyonel Bir Çevrimiçi Mağaza Oluşturmanın Kapsamlı Rehberi

Örneğin, price.php Şablon dosyasının yakınında, özel alanların kod parçaları görüntülenmektedir:

// 显示存储在 _product_year 自定义字段中的年份
$year = get_post_meta( get_the_ID(), '_product_year', true );
if ( $year ) {
    echo '<p class="product-year">Yıl: ' . esc_html($year) . '</p>';
}

Özel bir ödeme alanı oluşturun.

Ödeme sürecini değiştirmek başka bir yaygın ihtiyaçtır. Bunu yapmak için şu yöntemleri kullanabilirsiniz: woocommerce_checkout_fields Filtre kancaları, ödeme formundaki alanları eklemek, kaldırmak veya değiştirmek için kullanılır. Örneğin, B2B müşterileri için bir şirket vergi numarası alanı 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.

Aşağıdaki kod, fatura alanlarına özel bir alanın nasıl ekleneceğini göstermektedir:

add_filter( 'woocommerce_checkout_fields', 'add_custom_checkout_field' );
function add_custom_checkout_field( $fields ) {
    $fields['billing']['billing_vat'] = array(
        'label' => __( '增值税号', 'your-text-domain' ),
        'placeholder' => _x( '请输入您的公司税号', 'placeholder', 'your-text-domain' ),
        'required' => false, // 可以根据业务需求设置为 true
        'class' => array('form-row-wide'),
        'clear' => true,
        'priority' => 25, // 控制字段显示顺序
    );
    return $fields;
}

Alanları ekledikten sonra, bunları kullanmanız da gerekecek. woocommerce_checkout_update_order_meta Kancalar, alan değerlerini sipariş meta verilerine kaydeder ve bunları kullanır. woocommerce_admin_order_data_after_billing_address Kancalar, bunları yönetici sipariş ayrıntı sayfasında gösterir.

Performans Optimizasyonu ve Güvenlik İçin En İyi Uygulamalar

Mağazanın büyümesi, ürün ve sipariş sayısının artması, çeşitli genişletme özelliklerinin kullanılmasıyla birlikte, performans ve güvenlik sorunları giderek daha belirgin hale gelir. Yavaş çalışan veya güvensiz bir mağaza, dönüşüm oranlarını ve müşteri güvenini doğrudan etkiler.

Performans optimizasyonunun en önemli adımları, yüksek kaliteli bir sunucu seçmek ve önbellekleme (cache) mekanizmalarını uygulamaktır. WooCommerce söz konusu olduğunda, alışveriş sepeti ve ödeme sayfalarının dinamik olması ve kullanıcı oturumlarını içermesi nedeniyle bu sayfalara özel bir işlem yapılması gerekmektedir; genellikle bu sayfalar tam sayfa önbellekleme (full-page caching) işlemlerinden hariç tutulur. Redis veya Memcached gibi nesne önbellek (object cache) sistemlerinin kullanılması, mağaza ana sayfasında çok sayıda ürünün listelenmesi gibi veritabanı sorgularının yoğun olduğu işlemlerin hızını önemli ölçüde artırabilir.

Veritabanı sorgularını ve görüntü yükleme işlemlerini optimize etmek

WooCommerce çalışırken çok sayıda veritabanı sorgusu oluşturur. Optimizasyon, veritabanı tablo indekslerinin doğru şekilde ayarlanmasından başlayabilir. Süresi dolmuş oturum verilerini (saklanan) düzenli olarak temizlemek de önemlidir. wp_woocommerce_sessions Tablodaki bilgiler ve tamamlanmış siparişlerle ilgili eski günlük kayıtlar…wp_wc_admin_notes Bu tür önlemler (vb.) veritabanının boyutunu küçültebilir.

Görseller genellikle bir sayfanın boyutunun önemli bir parçasını oluşturur. Tüm ürün resimlerinin uygun şekilde sıkıştırıldığından ve WebP gibi modern formatların kullanıldığından emin olun. WooCommerce, varsayılan olarak çeşitli boyutlarda küçük resimler (thumbnail’lar) oluşturur; bu boyutları “Ayarlar” -> “Medya” bölümünden yönetebilirsiniz. Ancak daha iyi bir yöntem olarak… add_image_size() Fonksiyon, konu tasarım ihtiyaçlarınıza uygun ve kesin resim boyutlarını tanımlar; gereksiz resimlerin oluşturulmasını önler.

Mağazanın güvenlik ayarlarını güçlendirin.

Güvenlik her şeyden önce gelir. Öncelikle, yönetici hesaplarınızı korumak için her zaman güçlü şifreler kullanın ve çift faktörlü doğrulamayı (2FA) etkinleştirin. WordPress çekirdeğini, WooCommerce eklentilerini, temaları ve diğer tüm eklentileri bilinen güvenlik açıklarını gidermek için en yeni sürümlerine güncelleyin.

Ödeme güvenliği açısından, mutlaka SSL sertifikası kullanmalı ve tüm web sitesinin, özellikle de ödeme sayfasının HTTPS protokolü üzerinden erişilebilir olduğundan emin olmalısınız. Bunu zorunlu olarak etkinleştirerek sağlayabilirsiniz. FORCE_SSL_CHECKOUT Bu ayarı güçlendirmek için sabitler (constantlar) kullanılır.

wp-config.php Dosyaya eklenen şey:

define( 'FORCE_SSL_CHECKOUT', true );

Ayrıca, giriş denemelerini sınırlamak, güvenli anahtarlar kullanmak, düzenli olarak güvenlik taramaları yapmak ve kullanıcıların yüklediği dosyaları (örneğin ürün yorumları aracılığıyla yüklenen resimler) titiz bir şekilde doğrulamak ve temizlemek, gereklilik olan güvenlik önlemleridir. Hassas müşteri verileriyle çalışan mağazalar için daha sıkı uyum önlemleri uygulamayı düşünebilirsiniz.

Özetle.

WooCommerce, WordPress ekosisteminin temel taşlarından biridir ve başarısı, güçlü e-ticaret özelliklerini eşsiz esneklik ve erişilebilirlikle birleştirmesinden kaynaklanmaktadır. Basit bir kurulum ve yapılandırmadan, kullanıcı dostu ayar araçları ve arka uç yönetim arayüzlerine; geniş eklenti kütüphanesi ve derinlemesine “hook” (bağlantı noktası) sistemleri sayesinde sınırsız özelleştirmelere kadar, her ölçekten işletmelerin ideal çevrimiçi mağazalar oluşturmasına olanak tanır. Aynı zamanda, mağazanın gelişimiyle birlikte veritabanı performansına, görsel optimizasyona ve kapsamlı güvenlik önlemlerine aktif olarak odaklanmak, mağazanın istikrarlı, hızlı ve güvenli bir şekilde çalışmasını sağlamanın anahtarıdır. İster yeni kurulan bir şirket olsun ister olgun bir işletme, WooCommerce’in temel prensiplerini ve en iyi uygulamalarını öğrenerek dijital ticaret alanında sağlam ve esnek bir konum elde edebilirsiniz.

Sıkça Sorulan Sorular.

WooCommerce mağaza sayfalarındaki kenar çubuğunu nasıl gizleyebilirsiniz?

Temanızın dosyasında, kenar çubuğunu kaldırmak için koşullu etiketler kullanabilirsiniz. En yaygın yöntem, “sidebar-hidden” adında bir dosya oluşturmaktır. woocommerce.php Şablon dosyasını temanızın kök dizinine kopyalayın; bu, temanınıza göre oluşturulmuş içeriğin doğru şekilde görüntülenmesini sağlayacaktır. page.php Dosya değiştirildi ve ilgili içerik kaldırıldı. get_sidebar() Fonksiyonların çağrılması.

Daha esnek bir yöntem kullanmaktır. is_shop() Koşullu etiketler, kancalar (hooks) ile birlikte kullanılır. Örneğin, alt temanınızda… functions.php Dosyaya aşağıdaki kodu ekleyin; böylece WooCommerce mağaza sayfasındaki kenar çubuğu kaldırılacaktır:

add_action( 'wp', 'remove_sidebar_on_shop' );
function remove_sidebar_on_shop() {
    if ( is_shop() ) {
        remove_action( 'woocommerce_sidebar', 'woocommerce_get_sidebar', 10 );
        // 或者,如果你的主题使用不同的侧边栏钩子
        // add_filter( 'is_active_sidebar', 'deactivate_sidebar_on_shop', 10, 2 );
    }
}

Bu sayede yalnızca mağaza ana sayfasında kenar çubuğu gizlenecek ve diğer sayfalar etkilenmeyecektir.

Varsayılan “Alışveriş sepetine ekle” butonunun yazısını değiştirebilir miyiz?

Tabii ki, bu butonun yazısını değiştirmenin birçok yolu var. En basiti, Loco Translate gibi bir çeviri eklentisi kullanmaktır; “Add to cart” ifadesini istediğiniz herhangi bir metne (örneğin, “Hemen satın al”) çevirebilirsiniz. Bu yöntem için kod yazmanıza gerek yoktur.

Başka bir yöntem, filtre kancalarını (filter hooks) kullanmaktır. woocommerce_product_add_to_cart_text(Kullanım amacı: Arşiv sayfaları için) ve woocommerce_product_single_add_to_cart_text(Bir ürün sayfası için kullanılır.) Temanızda… functions.php Aşağıdaki kodu ekleyin:

add_filter( 'woocommerce_product_add_to_cart_text', 'change_archive_add_to_cart_text' );
function change_archive_add_to_cart_text() {
    return __( '立即订购', 'your-text-domain' );
}

add_filter( 'woocommerce_product_single_add_to_cart_text', 'change_single_add_to_cart_text' );
function change_single_add_to_cart_text() {
    return __( '加入购物车', 'your-text-domain' );
}

Filtre kancalarını kullanarak, ürün türüne (değişken ürünler, gruplanmış ürünler vb.) göre daha ayrıntılı bir kontrol sağlayabilirsiniz.

Kullanıcı rollerine göre farklı ürün fiyatları nasıl belirlenir?

Kullanıcı rolüne göre fiyatlandırma yapmak, gelişmiş bir özelliktir ve genellikle özel kod yazılmasını veya WooCommerce Memberships veya Wholesale Suite gibi özel üyelik/bayi fiyatlandırma eklentilerinin kullanılmasını gerektirir. Kod yoluyla gerçekleştirilecekse, temel yaklaşım şudur: woocommerce_get_price Filtre kancaları, ürün fiyatlarını dinamik olarak değiştirir.

Aşağıda, “wholesaler” (toptancı) kullanıcı rolüne sahip müşterilere 20% ürünü için bir indirim sağlayan temel bir örnek bulunmaktadır:

add_filter( 'woocommerce_get_price', 'apply_role_based_pricing', 10, 2 );
function apply_role_based_pricing( $price, $product ) {
    if ( is_user_logged_in() && current_user_can( 'wholesaler' ) ) {
        $price = $price * 0.8; // 打八折
    }
    return $price;
}

Lütfen unutmayın ki bu kod yalnızca bir konsept gösterimidir. Gerçek uygulamalarda, performansı (fiyatların önbelleğe alınması gerekebilir), alışveriş sepeti ve siparişlerin görüntülenmesinin uyumluluğunu, ayrıca vergi hesaplamalarıyla nasıl etkileşim kurulacağını düşünmeniz gerekecektir. Üretim ortamı için, yeterince test edilmiş eklentiler kullanmak genellikle daha güvenilir bir seçenektir.

WooCommerce’te sık karşılaşılan beyaz ekran (white screen) sorunlarını nasıl ayarlayabilirsiniz?

WooCommerce’de görülen “Beyaz Ekran Ölümü” (White Screen of Death – WSOD) genellikle PHP’nin ciddi hatalarından kaynaklanır ve bu hata mesajları gizlenmiştir. Öncelikle, web sitenizin kaynak kodlarını incelemeniz ve PHP hatalarını tespit etmeniz gerekmektedir. wp-config.php Dosyada WordPress hata ayıklama modunu etkinleştirin. Bu dosyada aşağıdaki tanımı bulun veya ekleyin:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_DISPLAY', false ); // 防止错误直接输出到屏幕
define( 'WP_DEBUG_LOG', true ); // 将错误记录到 /wp-content/debug.log 文件

Ekleme yapıldıktan sonra, beyaz ekran gösteren sayfaya tekrar erişildi. Daha sonra, bulunan… (The text seems incomplete here; the sentence ends abruptly.) wp-content Dizin içindeki debug.log Bu dosyada, soruna neden olan belirli hata bilgileri kaydedilmelidir; örneğin bellek tükenmesi, sözdizimi hataları veya belirli bir tema/ekleme ile çakışmalar gibi.

Yaygın WooCommerce ile ilgili sorunlar arasında şunlar bulunmaktadır: Tema veya eklenti çatışmaları (eklentileri tek tek devre dışı bırakarak ve varsayılan temaya geçerek sorunu tespit edebilirsiniz), yetersiz PHP bellek sınırlamaları (bunu gidermek için...). wp-config.php Ortaya ekleyin define( 'WP_MEMORY_LIMIT', '256M' );Veya hasar görmüş bir WooCommerce veritabanı tablosu var (WooCommerce Durum Aracı’nda “Varsayılan WooCommerce Tablolarını Oluştur” komutunu çalıştırmayı veya bir veritabanı onarım eklentisi kullanmayı deneyebilirsiniz).