WooCommerce ürün adedi sınırı, özellikle stok yönetimi, kampanya ürünleri ve toptan siparişleri kontrol altında tutmak isteyen mağazalar için çok işe yarar. Bir müşteri aynı üründen gereğinden fazla sepete eklediğinde stok planı bozulabilir, kampanya bütçesi aşılabilir veya kargo hazırlık süreci zorlaşabilir.
Aşağıdaki yöntemle tek bir üründe sepete eklenebilecek maksimum adedi eklenti kullanmadan sınırlandırabilirsiniz. Kod örneği tüm ürünler için aynı sınırı uygular; isterseniz daha sonra kategoriye, ürün ID’sine veya kullanıcı rolüne göre özelleştirilebilir.
WooCommerce ürün adedi sınırı ne zaman gerekir?
Bu ayar her mağaza için şart değildir; ama bazı senaryolarda ciddi şekilde hayat kurtarır:
- Kampanyalı ürünlerde kişi başı maksimum adet belirlemek.
- Stok adedi az olan ürünlerde tek müşterinin tüm stoğu tüketmesini önlemek.
- Numune, promosyon veya hediye ürünlerinde kötüye kullanımı azaltmak.
- Kargo/desi sınırı olan ürünlerde operasyonu daha kontrollü yürütmek.
- B2C mağazada toptan alım gibi görünen anormal siparişleri azaltmak.
Eklentisiz WooCommerce ürün adedi sınırı kodu
Kodu canlı sitenize eklemeden önce yedek almanız en güvenli yoldur. Mümkünse önce test ortamında deneyin. Code Snippets gibi bir snippet eklentisi kullanıyorsanız yeni bir PHP snippet oluşturup aşağıdaki kodu ekleyebilirsiniz. Tema dosyasına ekleyecekseniz ana tema yerine child theme kullanmanız daha sağlıklı olur.
<?php
// Tek üründe sepete eklenebilecek maksimum adedi sınırlar.
add_filter( 'woocommerce_add_to_cart_quantity', function ( $quantity, $product_id ) {
$max_quantity = 5;
if ( $quantity > $max_quantity ) {
return $max_quantity;
}
return $quantity;
}, 10, 2 );
// Sepet sayfasında adet artırılırsa yine aynı sınırı uygular.
add_filter( 'woocommerce_update_cart_action_cart_updated', function ( $cart_updated ) {
$max_quantity = 5;
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
if ( isset( $cart_item['quantity'] ) && $cart_item['quantity'] > $max_quantity ) {
WC()->cart->set_quantity( $cart_item_key, $max_quantity );
}
}
return $cart_updated;
} );
Koddaki maksimum adet nasıl değiştirilir?
Örnekte maksimum adet 5 olarak belirlendi. Farklı bir sınır istiyorsanız iki yerde geçen şu satırı değiştirmeniz yeterlidir:
$max_quantity = 5;
Örneğin müşteri aynı üründen en fazla 2 adet alabilsin istiyorsanız değeri 2 yapabilirsiniz. Burada dikkat edilmesi gereken nokta, kodun hem sepete ekleme sırasında hem de sepet güncelleme sırasında çalışmasıdır. Böylece müşteri ürün sayfasından sınırı aşamasa bile sepet ekranında adedi manuel artırmaya çalıştığında yine sınır uygulanır.
Ürün adedi sınırı sadece belirli ürünlerde uygulanabilir mi?
Evet, uygulanabilir. Yukarıdaki kod tüm ürünler için genel bir sınır koyar. Sadece belirli ürünlerde çalışmasını istiyorsanız ürün ID kontrolü eklenebilir. Sadece belirli kategorilerde çalışması istenirse kategori kontrolü yapılabilir. Bu tarz özelleştirmelerde mağazanın ürün yapısını bilmek önemlidir; aksi halde kampanyasız ürünlerde de gereksiz sınır oluşabilir.
Sepette adet sınırı müşteri deneyimini etkiler mi?
Doğru ayarlanırsa olumsuz etkilemez. Hatta stok problemi yaşanan mağazalarda daha adil bir alışveriş deneyimi sağlar. Yine de sınırın müşteriye anlaşılır şekilde gösterilmesi iyi olur. Ürün açıklamasına “Bu üründe kişi başı maksimum 5 adet satın alınabilir” gibi kısa bir not eklemek, sepet sırasında oluşabilecek kafa karışıklığını azaltır.
Kodu ekledikten sonra kontrol etmeniz gerekenler
- Bir üründen sınırın üzerinde adet sepete eklemeyi deneyin.
- Sepet sayfasında adedi manuel artırıp güncelleyin.
- Mobil görünümde sepet ve ürün sayfasını kontrol edin.
- Önbellek eklentisi kullanıyorsanız cache temizleyin.
- Varyasyonlu ürünlerde de beklediğiniz gibi çalıştığını test edin.
WooCommerce mağazanızda benzer düzenlemeler yapıyorsanız blog bölümündeki diğer WooCommerce rehberlerine de göz atabilirsiniz. Daha kapsamlı bir mağaza kurulumu veya teknik düzenleme gerekiyorsa iletişim sayfasından destek isteyebilirsiniz.
WooCommerce ürün adedi sınırı için kısa özet
WooCommerce ürün adedi sınırı, mağazada stok ve kampanya kontrolünü daha düzenli hale getirir. Basit bir PHP snippet ile müşterinin aynı üründen sepete ekleyebileceği maksimum adet sınırlandırılabilir. Kodu eklerken yedek almak, test etmek ve sınırı müşteriye açık şekilde belirtmek en güvenli yaklaşımdır.