Teşekkür ederim, bende denedim gpt den ama çalışsa bile indirim toplamını göstermedi birtürlü
Hocam şimdi kodları kendi demo sitemde denedim bende çalışıyor kontrol edebilirmisiniz ?
2 Farklı indirim olayı var.
1 - Bu kod ile sepete eklenen ürünler üzerinden ürün fiyatlarına %5 üzerinden indirim yapıyor.
Kod 'u burada;
function otomatik_indirim_uygula() {
// İndirim uygulanacak kategorinin ID'sini belirle
$hedef_kategori_id = 16; // Bu kısmı kendi kategorinizin ID'siyle değiştirin
// Tüm sepet ürünlerini al
$tum_urunler_sepet = WC()->cart->get_cart();
// Toplam fiyatı saklamak için bir değişken tanımla
$toplam_fiyat = 0;
// Sepetteki ürünleri kontrol et
foreach ($tum_urunler_sepet as $sepet_urun) {
// Ürün ID'sini al
$urun_id = $sepet_urun['product_id'];
// Ürünün kategorilerini al
$kategoriler = get_the_terms($urun_id, 'product_cat');
// Eğer ürün hedef kategoriye ait değilse
if ($kategoriler && !in_array($hedef_kategori_id, wp_list_pluck($kategoriler, 'term_id'))) {
// Ürünün toplam fiyatını toplam fiyata ekle
$toplam_fiyat += $sepet_urun['line_total'];
}
}
// Toplam fiyat 4000 TL'yi geçerse
if ($toplam_fiyat > 4000) {
// Tüm sepet ürünlerine %5 indirim uygula
$indirim_orani = 0.05;
foreach ($tum_urunler_sepet as $key => $sepet_urun) {
$yeni_fiyat = $sepet_urun['line_total'] * (1 - $indirim_orani);
WC()->cart->cart_contents[$key]['line_total'] = $yeni_fiyat;
WC()->cart->cart_contents[$key]['data']->set_price($yeni_fiyat / $sepet_urun['quantity']);
}
}
}
// Sepet güncellendiğinde fonksiyonu çağır
add_action('woocommerce_cart_calculate_fees', 'otomatik_indirim_uygula'); 
2 Yöntem - Bu ise Sepete eklenen ürünlerin toplamı 4000TL geçer ise %5 indirim uyguluyor isteğinize en yakın bu sanırım.
Kod burada
if (!function_exists('otomatik_indirim_uygula')) {
function otomatik_indirim_uygula() {
// İndirim uygulanacak kategorinin ID'sini belirle
$hedef_kategori_id = 10; // Bu kısmı kendi kategorinizin ID'siyle değiştirin
// Tüm sepet ürünlerini al
$tum_urunler_sepet = WC()->cart->get_cart();
// Toplam fiyatı saklamak için bir değişken tanımla
$toplam_fiyat = 0;
// Sepetteki ürünleri kontrol et
foreach ($tum_urunler_sepet as $sepet_urun) {
// Ürün ID'sini al
$urun_id = $sepet_urun['product_id'];
// Ürünün kategorilerini al
$kategoriler = get_the_terms($urun_id, 'product_cat');
// Eğer ürün hedef kategoriye ait değilse
if ($kategoriler && !in_array($hedef_kategori_id, wp_list_pluck($kategoriler, 'term_id'))) {
// Ürünün toplam fiyatını toplam fiyata ekle
$toplam_fiyat += $sepet_urun['line_total'];
}
}
// Toplam fiyat 4000 TL'yi geçerse
if ($toplam_fiyat > 4000) {
// Sepetin toplam tutarına %5 indirim uygula
$indirim_orani = 0.05;
$indirim_miktari = $toplam_fiyat * $indirim_orani;
WC()->cart->add_fee('Indirim', -$indirim_miktari, true, 'standard');
}
}
}
// Sepet güncellendiğinde fonksiyonu çağır
add_action('woocommerce_cart_calculate_fees', 'otomatik_indirim_uygula'); 