Arkadaşlar
Aşağıdaki kod sepette 2. Ürüne indirim yapıyor.
Bu kodu x kategorisi için nasıl uyarlayabiliriz?
add_action( 'woocommerce_cart_calculate_fees', 'discount_on_2nd_cart_item', 10, 1 );
function discount_on_2nd_cart_item( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
// baslangic
$count = 0;
$percentage = 5; // 5 % indirim orani
// sepetteki her ogenin islenmesi
foreach ( $cart->get_cart() as $cart_item ) {
$count++;
if( 2 == $count){ // yalnizca ikinci urun
$price = $cart_item['data']->get_price(); // urun fiyati
$discount = $price * $percentage / 100; // hesaplama
$second_item = true;
break; // donguyu durdur
}
}
if( isset($discount) && $discount > 0 )
$cart->add_fee( __("2. Ürüne %5 İndirim", 'woocommerce'), -$discount );
}
Sepet indirimini kategoriye uyarlama R10+
2
●70
- 04-01-2024, 00:39:08ChatGPT'ye sordunuz mu? Bu kodu verdi:
Bu kod parçası, WooCommerce üzerinde çalışan bir WordPress sitesinde sepetin ikinci ürününe %5 indirim yapmak için kullanılıyor. Bu kodu belirli bir kategoriye (örneğin 'X' kategorisi) ait ürünler için uyarlamak istiyorsanız, seçtiğiniz kategorideki ürünleri kontrol etmek için bir mantık eklemeniz gerekecek. Aşağıda, kodunuzu bu şekilde değiştirmek için bir örnek verilmiştir:
add_action( 'woocommerce_cart_calculate_fees', 'discount_on_2nd_cart_item_in_category', 10, 1 ); function discount_on_2nd_cart_item_in_category( $cart ) { if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return; $category = 'x'; // İndirim yapmak istediğiniz kategori $percentage = 5; // %5 indirim $count = 0; foreach ( $cart->get_cart() as $cart_item_key => $cart_item ) { if( has_term( $category, 'product_cat', $cart_item['product_id'] ) ){ $count++; if( $count == 2 ){ // Yalnızca ikinci ürün için $price = $cart_item['data']->get_price(); // Ürün fiyatı $discount = $price * $percentage / 100; // İndirim hesaplaması $cart->add_fee( __("2. Ürüne %5 İndirim", 'woocommerce'), -$discount ); break; } } } }Bu kod, sepetinizdeki her ürünü kontrol eder ve eğer bu ürün belirttiğiniz kategoriye ('x') aitse, sayacı arttırır. Sayac ikinci kez arttığında (yani kategorideki ikinci ürün için), belirtilen oranda indirim yapar ve daha fazla ürünü kontrol etmez.
Bu kodu sitenizin temanızın functions.php dosyasına ekleyebilirsiniz veya özel bir eklenti olarak kullanabilirsiniz. Kodu sitenize eklemeden önce, her zaman yedek almanızı ve bir geliştirme ortamında test etmenizi öneririm. - 04-01-2024, 00:48:09enesadem adlı üyeden alıntı: mesajı görüntüle
Üstadım çok tşk ederim. X yaAn yere kategoriyi yazdım, kaydettim ancak aşağıdaki satırda hata buldu. Kodlamadan pek anlamıyorum doğrusu