Tempo di Lettura stimato: 2 minuti

In questo snippet, desidero definire un “importo minimo dell’ordine in base al prodotto”.

Che, tradotto in un linguaggio semplice, sarebbe qualcosa del tipo “imposta l’importo minimo di acquisto per il prodotto XYZ a € 50“. E una volta che lo facciamo, mi aspetto che la quantità da aggiungere al carrello non inizi da 1, invece diventi automaticamente “€ 50 diviso per il prezzo del prodotto”. Se il prezzo del prodotto è $ 10, vorrei impostare la quantità minima aggiunta al carrello su “5” nelle pagine del singolo prodotto e del carrello.

Ha senso? Fantastico – ecco come è fatto.

In questo esempio, se voglio forzare € 50 come importo minimo di acquisto, il prodotto aggiunto alla quantità del carrello inizierà da 5 e non da 1.

					

add_filter( 'woocommerce_quantity_input_min', 'woocommerce_quantity_min_50_eur', 9999, 2 );
   
function woocommerce_quantity_min_50_eur( $min, $product ) {  
 
   if ( is_product() ) {
      if ( 123 === $product->get_id() ) {
         $min = ceil( 50 / $product->get_price() );
      }
 
   }
    
   return $min;
 
}
 
// ------------
// 2. Cart Page
 
add_filter( 'woocommerce_cart_item_quantity', 'woocommerce_quantity_min_50_eur_cart', 9999, 3 );
   
function woocommerce_quantity_min_50_eur_cart( $product_quantity, $cart_item_key, $cart_item ) {  
    
   $_product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
    
   $min = 0;
 
   if ( 123 === $product->get_id() ) {
      $min = ceil( 50 / $_product->get_price() );
   }
    
   $product_quantity = woocommerce_quantity_input( array(
      'input_name'   => "cart[{$cart_item_key}][qty]",
      'input_value'  => $cart_item['quantity'],
      'max_value'    => $_product->get_max_purchase_quantity(),
      'min_value'    => $min,
      'product_name' => $_product->get_name(),
   ), $_product, false );
    
   return $product_quantity;
 
}

Puoi posizionare i frammenti di PHP nella parte inferiore del file Functions.php del tema figlio (prima di “?>” Se ce l’hai). CSS, d’altra parte, va nel file style.css del tema figlio. Assicurati di sapere cosa stai facendo durante la modifica di tali file 

Leggi Anche  Ecco come avere una VPS performante in 30 minuti