• Hi,
    I modified the mini-cart.php file so that a cart widget could be simplifed for use in a title area. It works fine until something is left in the cart for some time and another item is added – two carts appear. I thought it was fixed with a little CSS magic to hide the second
    “li” that would appear, but now it’s appearing again as a 3rd “li”
    and the 2nd is still hidden!
    Here’s my code for the file:

    <?php
    /**
     * Mini-cart
     *
     * Contains the markup for the mini-cart, used by the cart widget
     *
     * @author 		WooThemes
     * @package 	WooCommerce/Templates
     * @version     2.1.0
     */
    
    if ( ! defined( 'ABSPATH' ) ) {
    	exit; // Exit if accessed directly
    }
    
    ?>
    
    <?php do_action( 'woocommerce_before_mini_cart' ); ?>
    
    <ul class="cart_list product_list_widget mbn <?php echo $args['list_class']; ?>">
    
    	<?php if ( sizeof( WC()->cart->get_cart() ) > 0 ) : ?>
    
    		<?php
    			foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
    				$_product     = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
    				$product_id   = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );
    
    				if ( $_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters( 'woocommerce_widget_cart_item_visible', true, $cart_item, $cart_item_key ) ) {
    
    					$product_name  = apply_filters( 'woocommerce_cart_item_name', $_product->get_title(), $cart_item, $cart_item_key );
    					$product_price = apply_filters( 'woocommerce_cart_item_price', WC()->cart->get_product_price( $_product ), $cart_item, $cart_item_key );
    					?>
    
    						<?php if ( sizeof( WC()->cart->get_cart() ) > 0 ) : ?>
    
    					<li class="empty" style="list-style: none;">
    
    	<p class="total mbn right-text">
    <?php echo apply_filters( 'woocommerce_widget_cart_item_quantity', '<span class="quantity prs">' . sprintf( '%s items in your cart', $cart_item['quantity'] ) . '</span>', $cart_item, $cart_item_key ); ?>
    		<strong><?php _e( 'Subtotal', 'woocommerce' ); ?>:</strong> <?php echo WC()->cart->get_cart_subtotal(); ?>
    			<a href="<?php echo WC()->cart->get_cart_url(); ?>" class="button wc-forward" style="font-size: 10px;"><?php _e( 'Cart', 'woocommerce' ); ?></a>
    		<a href="<?php echo WC()->cart->get_checkout_url(); ?>" class="button checkout wc-forward" style="font-size: 10px;"><?php _e( 'Checkout', 'woocommerce' ); ?></a>
    	</p>
    
    	<?php do_action( 'woocommerce_widget_shopping_cart_before_buttons' ); ?>
    
    </li><?php endif; ?>
    					<?php
    				}
    			}
    		?>
    
    	<?php else : ?>
    
    		<li class="empty" style="list-style: none;"><p class="right-text mbn"><?php _e( 'No products in the cart.', 'woocommerce' ); ?></p></li>
    
    	<?php endif; ?>
    
    </ul><!-- end product list -->
    
    <?php do_action( 'woocommerce_after_mini_cart' ); ?>

    Am I missing something?

  • The topic ‘Woocommerce: Two carts in widget’ is closed to new replies.