X Al Y öde kampanyası
3 al 2 öde kampanyası 2. üründe X indirim kampanyasının neredeyse aynısıdır arasındaki fark ise hesaplama farkıdır. Yani 100 TLlik üründen 3 adet alındığında 1 ürün kadar indirim yapmak.
Örnek 1: 3 Al 2 Öde Kampanyası
/* 3 al 2 öde*/
add_action( 'woocommerce_cart_calculate_fees', 'buy_two_pay_one', 10, 1 );
function buy_two_pay_one( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
$quanity = 3; // 3 al
$pay = 2; // 2 öde
$diff = $quanity - $pay; //fark
if ( did_action( 'woocommerce_before_calculate_totals' ) >= $quanity )
return;
$discount = 0; //indirim değişkeni
// sepet öğeleri döngüsü
foreach ( $cart->get_cart() as $cart_item ) {
// miktarı 3 den fazla olanlar
if( $cart_item['quantity'] >= $quanity ){
// ürün fiyatına %10 indirim
$quanityTotal = wc_get_price_excluding_tax( $cart_item['data'] );
$discount += $quanityTotal * $diff;
}
}
//$indirim değişkeni 0'dan büyük ise indirimi uygula
if( $discount > 0 )
$cart->add_fee( __('3 Al 2 Öde', 'woocommerce' ) , -$discount );
}
/* 3 al 2 öde*/
Kampanya kodlarını eklemek için bütün kodları Görünüm > Tema düzenleyici > function.php sayfasının en alt satırına aşağıdaki kodları sırasıyla yazarak işlemi tamamlayabilirsiniz..
alıntıdır