|
Server : Apache System : Linux webm011.cluster126.gra.hosting.ovh.net 6.18.39-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Tue Jul 21 12:03:15 CEST 2026 x86_64 User : alfamiffjq ( 77889) PHP Version : 8.2.31 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl Directory : /home/alfamiffjq/www/alfamifwp/wp-content/themes/setto/woocommerce/cart/ | |
|
Path: /home/alfamiffjq/www/alfamifwp/wp-content/themes/setto/woocommerce/cart/mini-cart.php
Size: 10.87 KB
Permissions: 0644
<?php
/**
* Mini-cart
*
* Contains the markup for the mini-cart, used by the cart widget.
*
* This template can be overridden by copying it to yourtheme/woocommerce/cart/mini-cart.php.
*
* HOWEVER, on occasion WooCommerce will need to update template files and you
* (the theme developer) will need to copy the new files to your theme to
* maintain compatibility. We try to do this as little as possible, but it does
* happen. When this occurs the version of the template file will be bumped and
* the readme will list any important changes.
*
* @see https://docs.woocommerce.com/document/template-structure/
* @package WooCommerce\Templates
* @version 9.3.0
*/
defined( 'ABSPATH' ) || exit;
do_action( 'woocommerce_before_mini_cart' ); ?>
<?php if ( ! WC()->cart->is_empty() ) : ?>
<ul class="woocommerce-mini-cart cart_list product_list_widget cart-items shopping-cart-items">
<?php
do_action( 'woocommerce_before_mini_cart_contents' );
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_name(), $cart_item, $cart_item_key );
$thumbnail = apply_filters( 'woocommerce_cart_item_thumbnail', $_product->get_image(), $cart_item, $cart_item_key );
$product_price = apply_filters( 'woocommerce_cart_item_price', WC()->cart->get_product_price( $_product ), $cart_item, $cart_item_key );
$product_permalink = apply_filters( 'woocommerce_cart_item_permalink', $_product->is_visible() ? $_product->get_permalink( $cart_item ) : '', $cart_item, $cart_item_key );
?>
<li class="woocommerce-mini-cart-item <?php echo esc_attr( apply_filters( 'woocommerce_mini_cart_item_class', 'mini_cart_item', $cart_item, $cart_item_key ) ); ?>">
<?php
echo apply_filters( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
'woocommerce_cart_item_remove_link',
sprintf(
'<a href="%s" class="remove remove_from_cart_button" aria-label="%s" data-product_id="%s" data-cart_item_key="%s" data-product_sku="%s">×</a>',
esc_url( wc_get_cart_remove_url( $cart_item_key ) ),
esc_attr__( 'Remove this item', 'setto' ),
esc_attr( $product_id ),
esc_attr( $cart_item_key ),
esc_attr( $_product->get_sku() )
),
$cart_item_key
);
?>
<?php if ( empty( $product_permalink ) ) : ?>
<div class="item-img">
<?php echo $thumbnail; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
</div>
<span class="item-name">
<?php echo $product_name; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
</span>
<?php else : ?>
<a href="<?php echo esc_url( $product_permalink ); ?>">
<div class="item-img">
<?php echo $thumbnail; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
</div>
<span class="item-name">
<?php echo $product_name; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
</span>
</a>
<?php endif; ?>
<?php echo wc_get_formatted_cart_item_data( $cart_item ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
<?php echo apply_filters( 'woocommerce_widget_cart_item_quantity', '<span class="quantity item-price">' . sprintf( '%s × %s', $cart_item['quantity'], $product_price ) . '</span>', $cart_item, $cart_item_key ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
</li>
<?php
}
}
do_action( 'woocommerce_mini_cart_contents' );
?>
</ul>
<?php do_action( 'woocommerce_widget_shopping_cart_before_buttons' ); ?>
<ul class="subtotal-title-area">
<li class="subtotal-info">
<div class="subtotal-titles">
<h3><?php echo esc_html_e('Sub Total:','setto'); ?></h3>
<span id="cart-total" class="subtotal-price"><?php echo WC()->cart->get_cart_subtotal(); ?></span>
</div>
</li>
<li class="mini-cart-btns">
<div class="cart-btns">
<a href="<?php echo esc_url(wc_get_cart_url()); ?>" class="btn btn-style2"><?php echo esc_html_e('View Cart','setto'); ?></a>
<a href="<?php echo esc_url( wc_get_checkout_url() ); ?>" class="btn btn-style2"><?php echo esc_html_e('Checkout','setto'); ?></a>
</div>
</li>
</ul>
<?php do_action( 'woocommerce_widget_shopping_cart_after_buttons' ); ?>
<?php else : ?>
<div class="cart-tempty-title" style="display:block;">
<p class="woocommerce-mini-cart__empty-message"><?php esc_html_e( 'No products in the cart.', 'setto' ); ?></p>
<ul class="cart-item-loop-empty">
<li class="cart-item-empty">
<span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.3" stroke-linecap="round" stroke-linejoin="round" class="feather feather-shopping-cart"><circle cx="9" cy="21" r="1"></circle><circle cx="20" cy="21" r="1"></circle><path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"></path></svg></span>
<a href="<?php echo esc_url(get_permalink( wc_get_page_id( 'shop' ) )); ?>" class="btn btn-style2"><?php esc_html_e( 'Continue shopping', 'setto' ); ?></a>
</li>
</ul>
</div>
<?php endif; ?>
<?php do_action( 'woocommerce_after_mini_cart' ); ?>
<?php
/**
* Show cart contents / total Ajax
*/
add_filter( 'woocommerce_add_to_cart_fragments', 'woocommerce_header_add_to_cart_fragment' );
function woocommerce_header_add_to_cart_fragment( $fragments ) {
global $woocommerce;
ob_start();
?>
<div class="mini-cart">
<?php if ( ! WC()->cart->is_empty() ) : ?>
<ul class="woocommerce-mini-cart cart_list product_list_widget cart-items shopping-cart-items">
<?php
do_action( 'woocommerce_before_mini_cart_contents' );
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_name(), $cart_item, $cart_item_key );
$thumbnail = apply_filters( 'woocommerce_cart_item_thumbnail', $_product->get_image(), $cart_item, $cart_item_key );
$product_price = apply_filters( 'woocommerce_cart_item_price', WC()->cart->get_product_price( $_product ), $cart_item, $cart_item_key );
$product_permalink = apply_filters( 'woocommerce_cart_item_permalink', $_product->is_visible() ? $_product->get_permalink( $cart_item ) : '', $cart_item, $cart_item_key );
?>
<li class="woocommerce-mini-cart-item <?php echo esc_attr( apply_filters( 'woocommerce_mini_cart_item_class', 'mini_cart_item', $cart_item, $cart_item_key ) ); ?>">
<?php
echo apply_filters( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
'woocommerce_cart_item_remove_link',
sprintf(
'<a href="%s" class="remove remove_from_cart_button" aria-label="%s" data-product_id="%s" data-cart_item_key="%s" data-product_sku="%s">×</a>',
esc_url( wc_get_cart_remove_url( $cart_item_key ) ),
esc_attr__( 'Remove this item', 'setto' ),
esc_attr( $product_id ),
esc_attr( $cart_item_key ),
esc_attr( $_product->get_sku() )
),
$cart_item_key
);
?>
<?php if ( empty( $product_permalink ) ) : ?>
<div class="item-img">
<?php echo $thumbnail; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
</div>
<span class="item-name">
<?php echo $product_name; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
</span>
<?php else : ?>
<a href="<?php echo esc_url( $product_permalink ); ?>">
<div class="item-img">
<?php echo $thumbnail; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
</div>
<span class="item-name">
<?php echo $product_name; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
</span>
</a>
<?php endif; ?>
<?php echo wc_get_formatted_cart_item_data( $cart_item ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
<?php echo apply_filters( 'woocommerce_widget_cart_item_quantity', '<span class="quantity item-price">' . sprintf( '%s × %s', $cart_item['quantity'], $product_price ) . '</span>', $cart_item, $cart_item_key ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
</li>
<?php
}
}
do_action( 'woocommerce_mini_cart_contents' );
?>
</ul>
<?php do_action( 'woocommerce_widget_shopping_cart_before_buttons' ); ?>
<ul class="subtotal-title-area">
<li class="subtotal-info">
<div class="subtotal-titles">
<h3><?php echo esc_html_e('Sub Total:','setto'); ?></h3>
<span id="cart-total" class="subtotal-price"><?php echo WC()->cart->get_cart_subtotal(); ?></span>
</div>
</li>
<li class="mini-cart-btns">
<div class="cart-btns">
<a href="<?php echo esc_url(wc_get_cart_url()); ?>" class="btn btn-style2"><?php echo esc_html_e('View Cart','setto'); ?></a>
<a href="<?php echo esc_url( wc_get_checkout_url() ); ?>" class="btn btn-style2"><?php echo esc_html_e('Checkout','setto'); ?></a>
</div>
</li>
</ul>
<?php do_action( 'woocommerce_widget_shopping_cart_after_buttons' ); ?>
<?php else : ?>
<div class="cart-tempty-title" style="display:block;">
<p class="woocommerce-mini-cart__empty-message"><?php esc_html_e( 'No products in the cart.', 'setto' ); ?></p>
<ul class="cart-item-loop-empty">
<li class="cart-item-empty">
<span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.3" stroke-linecap="round" stroke-linejoin="round" class="feather feather-shopping-cart"><circle cx="9" cy="21" r="1"></circle><circle cx="20" cy="21" r="1"></circle><path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"></path></svg></span>
<a href="<?php echo esc_url(get_permalink( wc_get_page_id( 'shop' ) )); ?>" class="btn btn-style2"><?php esc_html_e( 'Continue shopping', 'setto' ); ?></a>
</li>
</ul>
</div>
<?php endif; ?>
<?php do_action( 'woocommerce_after_mini_cart' ); ?>
</div>
<?php
$fragments['div.mini-cart'] = ob_get_clean();
return $fragments;
}