• 26-02-2025, 18:45:58
    #1
    Merhabalar,
    Şöyle bir eklentiye ihtiyacım var;
    Bir kupon yaratacağım, bu kupon kodu girildiği zaman sepetteki ilk ürüne % 15, ikinci ve sonraki her ürüne % 10 indirim yapacak.
    Böyle bir eklenti kullanan varsa yardımlarınızı rica ederim.

    Not : Tabii mesela sepetteki ilk ürüne % 15 indirim yaptı, ürün miktarını çoğaltıp 2 veya 3 adet yaptılar, yine o ürün için % 15 devam edebilir. Veya sepete ilk olarak 1.000 TL'lik ürün ekledi, ona % 15 indirim aldı, sonra 100 TL'lik ürün ekledi, ona da % 10 indirim aldı, otomatik olarak en düşük fiyatlı ürüne % 15 yapacak şekilde güncellenmesi gibi ekstra işlemler de var, ama ürünler çok pahalı değil, o yüzden o kadar fonksiyonel bir eklenti olması şart değil. Yukarıda yazdığım gibi sıra ile % 15 ve % 10'ar indirimleri yapsın yeterli olacaktır.

    İlgilenen arkadaşlara şimdiden teşekkürler.
  • 26-02-2025, 18:50:30
    #2
    • WooCommerce Discounts & Dynamic Pricing(Ücretli bir eklenti):
      https://woocommerce.com/document/pro...ing-discounts/
      • Bu tür özel indirimleri oluşturmanıza olanak tanır.
      • İlk ürüne %15, diğerlerine %10 gibi kurallar eklenebilir.
      • Ancak ürün sırasına göre değil, genellikle ürün gruplarına veya sepet tutarına göre çalışır.
    • Özel Kod ile Çözüm:

      add_action('woocommerce_cart_calculate_fees', 'custom_discount_based_on_position');function custom_discount_based_on_position() {
      if (is_admin() && !defined('DOING_AJAX')) return;
      
      $cart = WC()->cart;
      $cart_items = $cart->get_cart();
      $items = [];
      
      foreach ($cart_items as $key => $item) {
      $items[$key] = $item['line_total'];
      }
      
      asort($items); // Ürünleri fiyata göre küçükten büyüğe sıralıyoruz.
      $first_item = true;
      
      foreach ($items as $key => $price) {
      $discount_percentage = $first_item ? 15 : 10;
      $discount = ($price * $discount_percentage) / 100;
      $cart->add_fee("Kupon indirimi -%$discount_percentage", -$discount, true);
      $first_item = false;
      }
      }
      Bu kod ne yapıyor?
      • Sepetteki ürünleri fiyata göre sıralıyor.
      • En düşük fiyatlı ürüne %15 indirim, diğerlerine %10 indirim yapıyor.
      • WooCommerce’in "Sepet" sayfasına eklenmiş indirim olarak gösteriliyor.
  • 24-04-2025, 16:57:56
    #3
    PremiumTR adlı üyeden alıntı: mesajı görüntüle
    • WooCommerce Discounts & Dynamic Pricing(Ücretli bir eklenti):
      https://woocommerce.com/document/pro...ing-discounts/
      • Bu tür özel indirimleri oluşturmanıza olanak tanır.
      • İlk ürüne %15, diğerlerine %10 gibi kurallar eklenebilir.
      • Ancak ürün sırasına göre değil, genellikle ürün gruplarına veya sepet tutarına göre çalışır.
    • Özel Kod ile Çözüm:

      add_action('woocommerce_cart_calculate_fees', 'custom_discount_based_on_position');function custom_discount_based_on_position() {
      if (is_admin() && !defined('DOING_AJAX')) return;
      
      $cart = WC()->cart;
      $cart_items = $cart->get_cart();
      $items = [];
      
      foreach ($cart_items as $key => $item) {
      $items[$key] = $item['line_total'];
      }
      
      asort($items); // Ürünleri fiyata göre küçükten büyüğe sıralıyoruz.
      $first_item = true;
      
      foreach ($items as $key => $price) {
      $discount_percentage = $first_item ? 15 : 10;
      $discount = ($price * $discount_percentage) / 100;
      $cart->add_fee("Kupon indirimi -%$discount_percentage", -$discount, true);
      $first_item = false;
      }
      }
      Bu kod ne yapıyor?
      • Sepetteki ürünleri fiyata göre sıralıyor.
      • En düşük fiyatlı ürüne %15 indirim, diğerlerine %10 indirim yapıyor.
      • WooCommerce’in "Sepet" sayfasına eklenmiş indirim olarak gösteriliyor.
    Size bu zahmetiniz için teşekkür etmeyi unuttum, kusura bakmayınız. Yazdığınız özel kod tam çalışmıyor maalesef, zaten de "bir sürü eklenti de denedikten" sonra müşterimi bu isteğinden vazgeçirdim