E-ticaret sitelerinde satışları artırmanın en etkili yollarından biri, “1 alana 1 bedava” (BOGO – Buy One Get One) gibi kampanyalar sunmaktır. WooCommerce altyapısı, temel seviyede bu tür kampanyaları desteklemese de, birkaç basit kod satırıyla varyasyonlu ürünler için bu sistemi rahatlıkla kurabilirsiniz.
Bu yazıda, varyasyonlu ürünlerde (örneğin beden, renk seçenekli ürünler) “1 Alana 1 Bedava” kampanyasının nasıl uygulanacağını adım adım anlatıyoruz.
🎯 Hedefimiz Nedir?
Belirli bir varyasyonlu ürün (örneğin Siyah T-shirt – M beden) için;
Müşteri 1 adet satın aldığında, aynı üründen 1 adet ücretsiz olarak sepete otomatik eklenecek;
Sepet ekranında bu kampanya açıkça belirtilecek.
🧩 WooCommerce İçin Gerekli Kod
Aşağıdaki kodu, temanıza ait functions.php
dosyasının en altına eklemeniz yeterlidir:
add_action('woocommerce_before_calculate_totals', 'furkansaglam_bogo_variation');
function furkansaglam_bogo_variation($cart) {
if (is_admin() || defined('DOING_AJAX') || did_action('furkansaglam_bogo_applied')) return;
do_action('furkansaglam_bogo_applied');
// Kampanyalı varyasyon ID'lerini buraya ekleyin
$campaign_variations = [102]; // Örnek: 102 ID'li varyasyon
foreach ($campaign_variations as $variation_id) {
$buy_qty = 0;
$matched_item = null;
foreach ($cart->get_cart() as $key => $item) {
if (!empty($item['bogo_free']) && $item['variation_id'] == $variation_id) {
$cart->remove_cart_item($key);
}
}
foreach ($cart->get_cart() as $item) {
if ($item['variation_id'] == $variation_id && empty($item['bogo_free'])) {
$buy_qty += $item['quantity'];
$matched_item = $item;
}
}
if ($buy_qty > 0 && $matched_item) {
$cart->add_to_cart($matched_item['product_id'], $buy_qty, $variation_id, $matched_item['variation'], array(
'bogo_free' => true
));
}
}
}
// Sepet ekranında (Ücretsiz) etiketi
add_filter('woocommerce_cart_item_name', function($name, $cart_item) {
if (!empty($cart_item['bogo_free'])) {
$name .= ' (Ücretsiz)';
}
return $name;
}, 10, 2);
// Sepet altına kampanya açıklaması
add_action('woocommerce_cart_totals_before_order_total', function() {
$shown = false;
foreach (WC()->cart->get_cart() as $item) {
if (!empty($item['bogo_free']) && !$shown) {
echo 'Bu üründe 1 alana 1 bedava kampanyası uygulanmıştır. ';
$shown = true;
}
}
});
🔍 Varyasyon ID’si Nasıl Bulunur?
WooCommerce’te her varyasyonun kendine özel bir ID’si vardır.
Ürün düzenle > Varyasyonlar sekmesine gidin.
Her bir seçeneğin sol üst köşesinde
#1234
gibi bir numara görürsünüz.Bu numarayı yukarıdaki kodda
$campaign_variations
dizisine eklemeniz yeterlidir.
Bu yöntem sayesinde hiçbir eklenti kullanmadan, tamamen ücretsiz şekilde varyasyonlu ürünlerinize “1 alana 1 bedava” kampanyası ekleyebilirsiniz.
Kampanya, kullanıcıya hem sepette otomatik uygulanır hem de görsel olarak net bir şekilde yansıtılır.
💡 Ekstra İpuçları
Bu sistemi sadece belirli kullanıcı gruplarına (örneğin üyeler) açmak istiyorsanız, kodlara kullanıcı kontrolü eklenebilir.
Kampanyayı belirli tarihler arasında geçerli yapmak için tarih filtresi de uygulanabilir.
Daha gelişmiş bir yapıda kampanyaları panelden yönetmek isterseniz, özel eklenti yazımı önerilir.
Eğer siz de e-ticaret sitenize satış artırıcı bu tür çözümler entegre etmek istiyorsanız, yorumlara yazabilir veya benimle iletişime geçebilirsiniz. 🚀