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 TL’lik ü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