/* amazon kampanya örneği -> 5 ve üzeri ürün alana %5 indirim, 10 ve üzeri %10 indirim (Limit: en fazla 20 ürün için geçerlidir.)*/
add_action( 'woocommerce_cart_calculate_fees', 'second_item_discount', 10, 1 );
function second_item_discount( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
if ( did_action( 'woocommerce_before_calculate_totals' ) >= 2 )
return;
global $woocommerce;
$percentage = 0; // yüzde miktarı
$discount = 0; //indirim
$categories = [161, 153, 152, 151, 154, 15];
$cartTotalProduct =0;
// sepet öğeleri döngüsü
foreach ( $woocommerce->cart->get_cart() as $cart_item ) {
if ( has_term( $categories, 'product_cat', $cart_item['product_id'] ) ) { //kategoriler ile eşleşen ürünler varmı
$cartTotalProduct += $cart_item['quantity'];
}
}
// miktarı 5 den fazla olanlar
if( in_array($cartTotalProduct, range(5, 9)) ){
$percentage = 5; // yüzde miktarı %5 olarak ayarladık
$discount += intval($woocommerce->cart->get_cart_contents_total()) * $percentage / 100; // ürün fiyatına %5 indirim
}elseif (in_array($cartTotalProduct, range(10, 20)) ) {
$percentage = 10; // yüzde miktarı %10 olarak ayarladık
$discount += intval($woocommerce->cart->get_cart_contents_total()) * $percentage / 100; // ürün fiyatına %10 indirim
}
if( $discount > 0 )
$cart->add_fee( __( $percentage.' adet ve üzeri üründe %'.$percentage.' indirimi uygulandı', 'woocommerce' ) , -$discount ); // indirimi uygula
}
/* amazon kampanya örneği -> 5 ve üzeri ürün alana %5 indirim, 10 ve üzeri %10 indirim (Limit: en fazla 20 ürün için geçerlidir.)*/Kodu bu sitede gördüm yazan kişi sağolsun harika çalışıyor. Bu kodda yapmak istediğim düzenleme şu şekilde.3 lü alımlarda %5 indirim, 6 li alımlarda %10, 9 lu alımlarda %15, 12 li alımlarda, %20 indirim olarak güncellemeye çalıştım lakin olmadı.