En el siguiente minitutorial de Loopeando.com aprenderemos a crear un carrito como el siguente:

Lo podéis ver en vivo en: https://elperezoso.es
Sus principales caracteristicas son:
- Marca el número de productos que hay en el carrito, en tiempo real y sin necesidad de hacer clic en él.
- Al pasar el ratón sobre el icono, se despliega la vista detalle mostrando todos los items que hemos seleccionado.
- En la lista detalle se muestra el precio total, el precio de cada item y el número de items comprados de cada tipo.
- Desde la vista detalle podemos: O bien ir al chekout o bien eliminar items directamente sin pasar por el checkout ni por la vista ampliada del carrito.
[resumen]
- Nuestro código
- Explicación del código
[titulo]Nuestro código[/titulo]
El código PHP que lo hace posible va situado en el archivo header.php de nuestro tema, y es el siguiente:
<div class="cart-box">
                                <ul class="d-flex justify-content-sm-between  align-items-center">
				<?php global $woocommerce; ?>
                                   <li class="desplega_carrito" style="min-width: 180px;"><a href="https://elperezoso.es/carrito/"><img src="https://elperezoso.es/wp-content/uploads/2018/10/icon_cart.png" alt="cart-icon"><span class="total-pro"><?php echo sprintf ( _n( '%d item', '%d items', WC()->cart->get_cart_contents_count() ), WC()->cart->get_cart_contents_count() ); ?></span><span class="my-cart"><span>Mis<br>Compras</span></span></a>
                                          
										<ul class="ht-dropdown cart-box-width flyout">
                                            <li>
                                                <?php 
												//lista del producto del carrito
												$items = $woocommerce->cart->get_cart();
												foreach($items as $item => $values) { 
												$productDetail = wc_get_product( $values['product_id'] ); 
												?>
												<!-- Cart Box Start -->
												
                                              <div class="single-cart-box">
                                                    <div class="cart-img">
                                                        <a href="#"><?php echo $productDetail->get_image(); ?></a>
                                                        <span class="pro-quantity"><?php echo $values['quantity'] ?></span>
                                                    </div>
                                                    <div class="cart-content">
                                                        <h6><a href="product.html"><?php echo $productDetail->get_title(); ?></a></h6>
                                                        <span class="cart-price"><?php echo get_post_meta($values['product_id'] , '_price', true); ?>€</span>
                                                    </div>
                                                    <a class="del-icone" href="<?php echo WC()->cart->get_remove_url( $item ); ?>"><i class="ion-close"></i></a>
                                                </div>
                                               <?php } ?>
                                               
                                                <!-- Cart Box End -->
                                                <!-- Cart Footer Inner Start -->
                                                <div class="cart-footer">
                                                   <ul class="price-content">
                                                       <li>Total <span><?php echo WC()->cart->get_cart_total(); ?></span></li>
                                                   </ul>
                                                    <div class="cart-actions text-center">
                                                        <a class="cart-checkout" href="https://elperezoso.es/carrito/">Finalizar Compra</a>
                                                    </div>
                                                </div>
                                                <!-- Cart Footer Inner End -->
                                            </li>
                                        </ul>
                                    </li>
                                </ul>
                            </div>
                        </div>
                        <!-- Cart Box End Here -->
                    </div>
A continuación pasamos a explicar las partes más importantes de la programación.
[titulo]Explicación del código[/titulo]
En primer lugar hay que decirle a nuestra instalación de WordPress que vamos a comenzar a utilizar funciones de WoCommerce. Para ello realizamos la llamada:
<?php global $woocommerce; ?>
La función [codigo]get_cart_contents_count()[/codigo] nos ayudará a extraer la suma del [subraya_verde]número de items[/subraya_verde] que hay ahora mismo en el carrito.
Por lo tanto:
<?php echo sprintf ( _n( '%d item', '%d items', WC()->cart->get_cart_contents_count() ), WC()->cart->get_cart_contents_count() ); ?>
Imprimirá el número allá donde lo situemos.
Para [subraya_verde]extraer los productos del carrito[/subraya_verde] junto a sus precios, títulos, fotografías… debemos realizar un [codigo]foreach[/codigo] a la función [codigo]get_cart()[/codigo]:
$items = $woocommerce->cart->get_cart();
foreach($items as $item => $values) { 
}
Las siguientes funciones:
[codigo]get_image()[/codigo]: Extrae el thumnail del producto [codigo]get_title()[/codigo]: Extrae el título del producto [codigo]get_remove_url()[/codigo]: Crea el enlace que borrará el producto [codigo]get_cart_total()[/codigo]: Nos aporta el sumatorio total de todos los precios de los productos del carrito [codigo]get_post_meta()[/codigo]: Extrae detalles del producto tales como precio, número de unidades de ese producto, etcPara utlilizar [codigo]get_post_meta()[/codigo] dentro del loop habrá que hacer lo siguiente:
//Extrae el precio del producto cuya id hemos facilitado <?php echo get_post_meta($values['product_id'] , '_price', true); ?>












Buenos días
Cómo hago para obtener el programa completo, y solo modificar los títulos y las imágenes?
Es gratuito o tiene algún costo?
GRACIAS!! Sos un crack en compartir tus conocimientos. Buscaba esto hace rato, y lo único que encontraba eran plugins. Me has ahorrado mucho tiempo de trabajo. Abrazo!
Hola Cristián, acabo de istalarlo y no se me ve. Que puede ser?
https://vetoriano.com/
Muchas gracias amigo de verdad te lo agradezco mucho sigue así compartiendo tus conocimientos