WooCommerce Sepette En Ucuz Ürüne İndirim Uygulama

WooCommerce mağaza promosyonları yürütüyorsanız bu küçük kod parçası size bu konuda yardımcı olacaktır. Mesela “ 2 ürün alana yarı indirim ” ya da “ 3 ürün alana en ucuzunu bedava ” kampanyası nasıl yürütülür?

Bu geçici çözümün ardındaki hile, sepette dolaşarak en ucuz ürünü bulmak ve ardından fiyatını normal fiyattan daha düşük olacak şekilde ayarlamaktır. Eğlence!

PHP Snippet'i: WooCommerce Sepetinde En Ucuz Ürün Satış Fiyatını Belirleyin

Aşağıdaki kod, sepetteki en ucuz ürüne %50 indirim uygular (ayrıca BOGO 50 = Bir Alana Bir %50 İndirim denir).

 

Alt alandaki kodları Temanızın functions.php sayfasına eklemeniz gerekmektedir.

				
					/**
 * @snippet       Sepette En ucuz ürüne %50 İndirim Uygulama @ WooCommerce Yönetim Ürünler Listesi
 * @author        Furkan Sağlam
 * @compatible    WooCommerce 8
 */
add_action( 'woocommerce_before_calculate_totals', 'fks_cheapest_cart_item_half_off', 9999 );
  
function fks_cheapest_cart_item_half_off( $cart ) {
  
    if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return;
  
    if ( did_action( 'woocommerce_before_calculate_totals' ) >= 2 ) return;
  
    if ( count( $cart->get_cart() ) < 2 ) return; // AT LEAST 2 PRODUCTS IN THE CART
 
    $min = PHP_FLOAT_MAX;
  
    // LOOP THROUGH CART TO FIND CHEAPEST ITEM
    foreach ( $cart->get_cart() as $cart_item_key => $cart_item ) {
      if ( $cart_item['data']->get_price() <= $min ) {
         $min = $cart_item['data']->get_price();
         $cheapest = $cart_item_key;
      }
    }
 
    // LOOP THROUGH CART TO REDUCE CHEAPEST ITEM PRICE BY 50%
    foreach ( $cart->get_cart() as $cart_item_key => $cart_item ) {
      if ( $cheapest == $cart_item_key ) {
         $price = $cart_item['data']->get_price() / 2;
         $cart_item['data']->set_price( $price );
         $cart_item['data']->set_sale_price( $price );
      }
    }
     
 }
				
			

Kod eklendikten sonra sepette en uygun fiyatlı ürününüze %50 İndirim uygulanmış olacaktır.

Görselde gördüğünüz gibi indirim uygulandı ama bunu müşteriye bildirmemiz ve göstermemiz de gerekmektedir. İndirim uygulanmadan önceki fiyatını da göstermemiz gerekiyor bu durumla ilgili kodlarıda alt alanda sizlerle paylaşıyorum.

				
					add_filter( 'woocommerce_cart_item_price', 'fks_change_cart_table_price_display', 30, 3 );
  
function fks_change_cart_table_price_display( $price, $values, $cart_item_key ) {
   $slashed_price = $values['data']->get_price_html();
   $is_on_sale = $values['data']->is_on_sale();
   if ( $is_on_sale ) {
      $price = $slashed_price;
   }
   return $price;
}
				
			

Bu makaleyi beğendiyseniz, lütfen WordPress video eğiticileri için YouTube Kanalımıza abone olun. Bizi Twitter ve Facebook’ta da bulabilirsiniz.

Facebook
Twitter
LinkedIn
Email
WhatsApp

İlgilinizi çekebilecek diğer içerikler

Picture of destek

destek

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

3.200'den fazla okuyucu

furkansaglam.com’u yeni içerikler için takip edin!