WooCommerce: sincronizar cantidades de productos en el carrito

Este fragmento lo ayudará a sincronizar las cantidades de todos los artículos de su carrito con una cantidad de ID de producto dada . Cuando agrega un segundo producto al carrito, por lo tanto, obtendrá la misma cantidad de su ID de producto. Además, si actualiza la cantidad de identificación del producto, las otras cantidades de artículos del carrito se actualizarán automáticamente en consecuencia.

Las aplicaciones son bastante especializadas, pero es genial aprender a establecer mediante programación la cantidad de un artículo del carrito. Como de costumbre, cada fragmento de este sitio web tiene algo que tarde o temprano necesitará usar. ¡Disfrutar!

Según el ejemplo de fragmento a continuación, cada vez que cambio la cantidad de ID de producto = 20 (llamado 2 Simple), la cantidad de todos los demás productos se sincronizará.

Fragmento de PHP: Sincronice la cantidad de ID de producto y otras cantidades de artículos en el carrito de WooCommerce

Nota: debe especificar su » master_product_id » dentro del fragmento. Este es el producto de referencia. Todos los demás productos en el carrito se sincronizarán con su cantidad.

/**
 * @snippet       Sync Cart Item Quantities
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli
 * @compatible    WooCommerce 4.0
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */
    
add_action( 'template_redirect', 'bbloomer_sync_cart_quantities' );
    
function bbloomer_sync_cart_quantities() {
    if ( WC()->cart->is_empty() ) return;
   $master_product_id = 20;
   $in_cart = false;
   foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
      if ( $master_product_id === $cart_item['product_id'] ) {
         $qty = $cart_item['quantity'];
         $in_cart = true;
         break;
      }
   }
   if ( ! $in_cart ) return;
   foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
      if ( $master_product_id !== $cart_item['product_id'] ) {
         WC()->cart->set_quantity( $cart_item_key, $qty );
      }
   }    
}

Deja un comentario