En çok ihtiyaç duyduğunuz anda güvenilir WordPress eğitimleri.

Yeni Başlayanlar İçin WordPress Kılavuzu

12+

Yılların Dijital Deneyimi

[total_posts]

Yayınlanan İçerik

WooCommerce’de 24 Saatlik Kargo Bedava Kampanyası Nasıl Yapılır? (Geri Sayım Kodlu)

Zaman sınırlı kampanyalar, e-ticaret sitenizde anlık dönüşüm oranlarını artırmanın en etkili yollarından biridir. Bu yazıda size:

  • Belirli bir tarih için geçerli olacak 24 saatlik kargo bedava kampanyası kurmayı,

  • Bu kampanyayı sitenin en üstünde geri sayımlı bir bilgilendirme barı ile duyurmayı,

  • Kampanya bitince sistemin otomatik olarak 2000 TL üzeri kargo bedava kuralına dönmesini

sıfır eklenti ile sadece birkaç satır kod yazarak nasıl yapabileceğinizi adım adım göstereceğim.

🛠️ Adım 1 – Kampanya Aktiflik Kontrolü Fonksiyonu

				
					// === Kampanya Zaman Aralığı Kontrolü ===
function fks_is_kargo_kampanya_active() {
    $start = strtotime('2025-06-30 00:00:00'); // Kampanya başlangıcı
    $end   = strtotime('2025-06-30 23:59:59'); // Kampanya bitişi
    $now   = current_time('timestamp');
    return ($now >= $start && $now <= $end);
}

				
			

🧠 Ne işe yarar?
Bu fonksiyon, kampanyanın şu anda aktif olup olmadığını belirler. Başka fonksiyonların tamamı bu kontrole göre çalışır. Belirttiğiniz tarihler arasında çalışır; örneğin 30 Haziran günü saat 00:00’dan 23:59’a kadar.

🧾 Adım 2 – Kargo Ücreti Kurallarını Dinamik Hale Getirme

				
					// === 1. WooCommerce Kargo Kuralları ===
add_filter('woocommerce_package_rates', 'fks_zamanli_kargo_kampanya', 9999, 2);
function fks_zamanli_kargo_kampanya($rates, $package) {
    if (is_admin() && !defined('DOING_AJAX')) return $rates;
    $cart = WC()->cart;
    if (!$cart) return $rates;
    $subtotal = $cart->get_subtotal();
    $new_rates = [];

    if (fks_is_kargo_kampanya_active()) {
        foreach ($rates as $rate_key => $rate) {
            $rate->cost = 0;
            $rate->label = 'Kargo Bedava';
            $new_rates[$rate_key] = $rate;
        }
        return $new_rates;
    }

    // Kampanya aktif değilse: 2000 TL üzeri ücretsiz kargo
    $free_shipping_limit = 2000;
    foreach ($rates as $rate_key => $rate) {
        if ($rate->method_id === 'free_shipping') {
            $rate->label = 'Kargo Bedava';
        }

        if ($subtotal >= $free_shipping_limit && $rate->method_id === 'free_shipping') {
            $new_rates[$rate_key] = $rate;
        }

        if ($subtotal < $free_shipping_limit && $rate->method_id === 'flat_rate') {
            $new_rates[$rate_key] = $rate;
        }
    }

    return !empty($new_rates) ? $new_rates : $rates;
}

				
			

📦 Ne işe yarar?
Bu kısım, ödeme sayfasında ve sepet ekranında kargo ücretini sıfırlamakla sorumlu. Kampanya aktifse tüm kargo metotları ücretsiz olur. Kampanya bittiğinde 2000 TL üzeri siparişlerde kargo yine ücretsiz, altındaysa normal kargo uygulanır.

🛒 Adım 3 – Sepet ve Ödeme Sayfasında Bilgilendirme

				
					// === 2. Sepet / Ödeme Sayfası Bilgilendirmesi ===
add_action('woocommerce_review_order_before_shipping', 'fks_kargo_kampanya_bilgi', 5);
add_action('woocommerce_cart_totals_before_shipping', 'fks_kargo_kampanya_bilgi', 5);

function fks_kargo_kampanya_bilgi() {
    $limit = 2000;
    $subtotal = WC()->cart ? WC()->cart->get_subtotal() : 0;

    if (fks_is_kargo_kampanya_active()) {
        ?>
        <div class="woocommerce-message" style="margin-bottom:10px;">
            🚚 Bugün <strong>saat 23:59</strong>'a kadar <strong>tüm siparişlerde kargo ücretsiz!</strong>
            <div id="fks-countdown" style="font-weight:bold;"></div>
        </div>
        <script>
        var countdownDate = new Date("2025-06-30T23:59:59").getTime();
        var x = setInterval(function() {
            var now = new Date().getTime();
            var distance = countdownDate - now;

            if (distance < 0) {
                document.getElementById("fks-countdown").innerHTML = "";
                clearInterval(x);
                return;
            }

            var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
            var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
            var seconds = Math.floor((distance % (1000 * 60)) / 1000);

            document.getElementById("fks-countdown").innerHTML =
                "⏰ Kalan Süre: " + hours + "s " + minutes + "d " + seconds + "s";
        }, 1000);
        </script>
        <?php
    } else {
        if ($subtotal < $limit) {
            $remaining = wc_price($limit - $subtotal);
            echo '<div class="woocommerce-info" style="margin-bottom:10px;">📦 Ücretsiz kargo için sadece <strong>' . $remaining . '</strong> daha harcayın!</div>';
        } else {
            echo '<div class="woocommerce-message" style="margin-bottom:10px;">✅ Sepetiniz 2000 TL ve üzeri olduğu için <strong>kargo bedava</strong> fırsatından yararlanıyorsunuz.</div>';
        }
    }
}

				
			

💡 Kullanıcıyı yönlendir!
Burada kullanıcı kampanya hakkında bilgilendirilir ve kalan süre gerçek zamanlı olarak geri sayım şeklinde görünür. Eğer kampanya yoksa 2000 TL sınırına ne kadar kaldığını öğrenir.

📣 Adım 4 – HEADER Üstü Geri Sayımlı Kampanya Barı

				
					// === 3. HEADER ÜSTÜNE SABİT KAMPANYA BARI ===
add_action('wp_body_open', function() {
    if (!fks_is_kargo_kampanya_active()) return;
    ?>
    <style>
    .kargo-kampanya-bar {
        position: fixed !important;
        top: 0;
        left: 0;
        right: 0;
        background: #ff5100;
        color: #fff;
        z-index: 99999;
        width: 100%;
        padding: 12px 20px;
        font-size: 16px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: 500;
    }

    body::before {
        content: "";
        display: block;
        height: 28px;
    }
    </style>

    <div class="kargo-kampanya-bar">
        🚚 Bugün saat 23:59’a kadar <strong>Kargo Ücretsiz!</strong>
        <span id="kargo-countdown" style="margin-left: 10px;"></span>
    </div>

    <script>
    document.addEventListener("DOMContentLoaded", function () {
        var countdownDate = new Date("2025-06-30T23:59:59").getTime();
        var timer = setInterval(function () {
            var now = new Date().getTime();
            var distance = countdownDate - now;

            if (distance < 0) {
                clearInterval(timer);
                document.querySelector(".kargo-kampanya-bar").style.display = "none";
                return;
            }

            var h = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
            var m = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
            var s = Math.floor((distance % (1000 * 60)) / 1000);

            document.getElementById("kargo-countdown").innerText =
                "⏰ Kalan: " + h + "s " + m + "d " + s + "s";
        }, 1000);
    });
    </script>
    <?php
});

				
			

📢 Ziyaretçiyi Etkile!
Sitenin en üstünde sabit kalan bu bar ile kampanyanızı vurgulayın. Kırmızı tonlar dönüşümü artırır, geri sayım ziyaretçiyi satın almaya teşvik eder.

🎯 Sonuç

Bu kodları kullanarak:

  • WooCommerce sitenize tek gün süren zamanlı kampanya entegre ettiniz,

  • Geri sayımlı ve dikkat çekici bir kampanya barı eklediniz,

  • Kampanya sona erdiğinde sistemin eski mantığa (örneğin “2000 TL ve üzeri kargo bedava”) dönmesini sağladınız.

💡 İlgili Yazı:

👉 WooCommerce 2000 TL üzeri kargo bedava etiketi ve mesajı özelleştirme yazısı ile entegre çalışır.

Bu makaleyi beğendiyseniz, lütfen WordPress video eğiticileri için YouTube Kanalımıza abone olun. Bizi Twitter ve Facebook’ta da bulabilirsiniz.

Facebook
Twitter
LinkedIn
Email
WhatsApp

İlgilinizi çekebilecek diğer içerikler

Picture of Furkan Sağlam

Furkan Sağlam

Mavis Agency'de Dijital Yöneticisi olarak görev yapmaktadır. Marka yönetimi, e-ticaret çözümleri ve dijital pazarlama stratejileri konularında uzmandır. Blog yazılarında, güncel dijital trendler ve etkili pazarlama taktikleri üzerine değerli bilgiler sunmaktadır. Dijital dünyada markaların başarısına katkıda bulunmayı amaçlamaktadır.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

3.200'den fazla okuyucu

furkansaglam.com’u yeni içerikler için takip edin!

Haftanın WordPress Eklentisi

WP Sweep

Eski taslakları, spam yorumları ve kullanılmayan verileri silerek performansınızı artırın.
Hemen keşfedin!