WooCommerce: excluir productos ocultos del contador de minicarritos

Cuando agrega un producto oculto al carrito, ya sea de forma manual o programática, esto se mostrará en las páginas de detalles del carrito, pago y pedido (no estoy seguro de por qué un producto oculto se comporta así… pero afortunadamente puede ocultar productos ocultos del Página de carrito/pago/pedido con este fragmento ).

El problema es que, incluso si oculta los productos ocultos de la página del carrito, el icono o el texto del contador de productos del «minicarrito» (depende de su tema) aún los contará como productos (vea la captura de pantalla a continuación). Entonces, la pregunta es: junto con el fragmento mencionado anteriormente, ¿cómo excluyo los productos ocultos del «carrito de menú» (también llamado Mini-Cart Widget)?

WooCommerce: excluye productos ocultos del contador del widget del menú Mini-Cart

Fragmento de código de PHP: no cuente los productos ocultos en el widget de minicarro de WooCommerce

/**
 * @snippet       Exclude Hidden Products from Cart Count - WooCommerce
 * @how-to        Get CustomizeWoo.com FREE
 * @sourcecode    https://businessbloomer.com/?p=80264
 * @author        Rodolfo Melogli
 * @compatible    WooCommerce 3.4.5
 */
 
// PLEASE NOTE: EMPTY THE CART BEFORE TESTING
 
add_filter( 'woocommerce_cart_contents_count', 'bbloomer_exclude_hidden_minicart_counter' );
 
function bbloomer_exclude_hidden_minicart_counter( $quantity ) {
  $hidden = 0;
  foreach( WC()->cart->get_cart() as $cart_item ) {
    $product = $cart_item['data'];
    if ( $product->get_catalog_visibility() == 'hidden' ) $hidden += $cart_item['quantity'];
  }
  $quantity -= $hidden;
  return $quantity;
}

Deja un comentario