2016-11-18 22:27:36 +00:00
< ? php
/**
* Cart Page
2017-06-29 12:39:46 +00:00
*
2016-11-18 22:27:36 +00:00
* This template can be overridden by copying it to yourtheme / woocommerce / cart / 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
2019-04-22 16:38:43 +00:00
* @ version 3.6 . 1
2016-11-18 22:27:36 +00:00
*/
2018-06-06 01:59:33 +00:00
defined ( 'ABSPATH' ) || exit ;
2016-11-18 22:27:36 +00:00
do_action ( 'woocommerce_before_cart' ); ?>
2017-04-14 10:49:24 +00:00
< form class = " woocommerce-cart-form " action = " <?php echo esc_url( wc_get_cart_url() ); ?> " method = " post " >
< ? php do_action ( 'woocommerce_before_cart_table' ); ?>
< table class = " shop_table shop_table_responsive cart woocommerce-cart-form__contents " cellspacing = " 0 " >
< thead >
< tr >
< th class = " product-remove " >& nbsp ; </ th >
< th class = " product-thumbnail " >& nbsp ; </ th >
2018-03-22 18:56:28 +00:00
< th class = " product-name " >< ? php esc_html_e ( 'Product' , 'understrap' ); ?> </th>
< th class = " product-price " >< ? php esc_html_e ( 'Price' , 'understrap' ); ?> </th>
< th class = " product-quantity " >< ? php esc_html_e ( 'Quantity' , 'understrap' ); ?> </th>
< th class = " product-subtotal " >< ? php esc_html_e ( 'Total' , 'understrap' ); ?> </th>
2017-04-14 10:49:24 +00:00
</ tr >
</ thead >
2017-06-29 12:39:46 +00:00
< tbody >
2017-04-14 10:49:24 +00:00
< ? php do_action ( 'woocommerce_before_cart_contents' ); ?>
< ? 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_cart_item_visible' , true , $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 );
?>
< tr class = " woocommerce-cart-form__cart-item <?php echo esc_attr( apply_filters( 'woocommerce_cart_item_class', 'cart_item', $cart_item , $cart_item_key ) ); ?> " >
< td class = " product-remove " >
< ? php
2018-03-22 19:42:38 +00:00
// @codingStandardsIgnoreLine
2017-04-14 10:49:24 +00:00
echo apply_filters ( 'woocommerce_cart_item_remove_link' , sprintf (
'<a href="%s" class="remove" aria-label="%s" data-product_id="%s" data-product_sku="%s">×</a>' ,
2018-02-19 22:58:24 +00:00
esc_url ( wc_get_cart_remove_url ( $cart_item_key ) ),
2018-03-22 19:57:18 +00:00
__ ( 'Remove this item' , 'understrap' ),
2017-04-14 10:49:24 +00:00
esc_attr ( $product_id ),
esc_attr ( $_product -> get_sku () )
), $cart_item_key );
?>
</ td >
2016-11-18 22:27:36 +00:00
2018-06-06 01:59:33 +00:00
< td class = " product-thumbnail " >
< ? php
2018-03-22 19:58:07 +00:00
$thumbnail = apply_filters ( 'woocommerce_cart_item_thumbnail' , $_product -> get_image (), $cart_item , $cart_item_key );
2017-06-29 12:39:46 +00:00
2018-03-22 20:00:10 +00:00
if ( ! $product_permalink ) {
2018-10-30 00:19:44 +00:00
echo $thumbnail ; // PHPCS: XSS ok.
2018-03-22 20:00:10 +00:00
} else {
2018-10-30 00:19:44 +00:00
printf ( '<a href="%s">%s</a>' , esc_url ( $product_permalink ), $thumbnail ); // PHPCS: XSS ok.
2018-03-22 20:00:10 +00:00
}
2018-06-06 01:59:33 +00:00
?>
</ td >
2017-06-29 12:39:46 +00:00
2018-06-06 01:59:33 +00:00
< td class = " product-name " data - title = " <?php esc_attr_e( 'Product', 'understrap' ); ?> " >
< ? php
2018-03-22 20:02:03 +00:00
if ( ! $product_permalink ) {
2018-06-06 01:59:33 +00:00
echo wp_kses_post ( apply_filters ( 'woocommerce_cart_item_name' , $_product -> get_name (), $cart_item , $cart_item_key ) . ' ' );
2018-03-22 20:02:03 +00:00
} else {
2018-06-06 01:59:33 +00:00
echo wp_kses_post ( apply_filters ( 'woocommerce_cart_item_name' , sprintf ( '<a href="%s">%s</a>' , esc_url ( $product_permalink ), $_product -> get_name () ), $cart_item , $cart_item_key ) );
2018-03-22 20:02:03 +00:00
}
2017-06-29 12:39:46 +00:00
2018-06-06 01:59:33 +00:00
do_action ( 'woocommerce_after_cart_item_name' , $cart_item , $cart_item_key );
2018-03-22 20:02:03 +00:00
// Meta data.
2018-06-06 01:59:33 +00:00
echo wc_get_formatted_cart_item_data ( $cart_item ); // PHPCS: XSS ok.
2017-06-29 12:39:46 +00:00
2018-03-22 20:02:03 +00:00
// Backorder notification.
if ( $_product -> backorders_require_notification () && $_product -> is_on_backorder ( $cart_item [ 'quantity' ] ) ) {
2018-10-30 00:19:44 +00:00
echo wp_kses_post ( apply_filters ( 'woocommerce_cart_item_backorder_notification' , '<p class="backorder_notification">' . esc_html__ ( 'Available on backorder' , 'understrap' ) . '</p>' , $product_id ) );
2018-03-22 20:02:03 +00:00
}
2018-06-06 01:59:33 +00:00
?>
</ td >
2017-06-29 12:39:46 +00:00
2017-11-28 08:04:07 +00:00
< td class = " product-price " data - title = " <?php esc_attr_e( 'Price', 'understrap' ); ?> " >
2017-06-29 12:39:46 +00:00
< ? php
2018-06-06 01:59:33 +00:00
echo apply_filters ( 'woocommerce_cart_item_price' , WC () -> cart -> get_product_price ( $_product ), $cart_item , $cart_item_key ); // PHPCS: XSS ok.
2017-06-29 12:39:46 +00:00
?>
</ td >
2018-06-06 01:59:33 +00:00
< td class = " product-quantity " data - title = " <?php esc_attr_e( 'Quantity', 'understrap' ); ?> " >
< ? php
2018-03-22 19:56:16 +00:00
if ( $_product -> is_sold_individually () ) {
$product_quantity = sprintf ( '1 <input type="hidden" name="cart[%s][qty]" value="1" />' , $cart_item_key );
} else {
$product_quantity = woocommerce_quantity_input ( array (
2018-06-06 01:59:33 +00:00
'input_name' => " cart[ { $cart_item_key } ][qty] " ,
'input_value' => $cart_item [ 'quantity' ],
'max_value' => $_product -> get_max_purchase_quantity (),
'min_value' => '0' ,
'product_name' => $_product -> get_name (),
2018-03-22 19:56:16 +00:00
), $_product , false );
}
2018-06-06 01:59:33 +00:00
echo apply_filters ( 'woocommerce_cart_item_quantity' , $product_quantity , $cart_item_key , $cart_item ); // PHPCS: XSS ok.
?>
</ td >
2017-06-29 12:39:46 +00:00
2017-11-28 08:04:07 +00:00
< td class = " product-subtotal " data - title = " <?php esc_attr_e( 'Total', 'understrap' ); ?> " >
2017-04-14 10:49:24 +00:00
< ? php
2018-06-06 01:59:33 +00:00
echo apply_filters ( 'woocommerce_cart_item_subtotal' , WC () -> cart -> get_product_subtotal ( $_product , $cart_item [ 'quantity' ] ), $cart_item , $cart_item_key ); // PHPCS: XSS ok.
2017-04-14 10:49:24 +00:00
?>
</ td >
</ tr >
< ? php
}
2016-11-18 22:27:36 +00:00
}
2017-04-14 10:49:24 +00:00
?>
2016-11-18 22:27:36 +00:00
2017-04-14 10:49:24 +00:00
< ? php do_action ( 'woocommerce_cart_contents' ); ?>
2017-06-29 12:39:46 +00:00
< tr >
< td colspan = " 6 " class = " actions " >
2016-11-18 22:27:36 +00:00
2017-04-14 10:49:24 +00:00
< ? php if ( wc_coupons_enabled () ) { ?>
< div class = " coupon " >
2018-06-06 01:59:33 +00:00
< label for = " coupon_code " >< ? php esc_html_e ( 'Coupon:' , 'understrap' ); ?> </label> <input type="text" name="coupon_code" class="input-text form-control" id="coupon_code" value="" placeholder="<?php esc_attr_e( 'Coupon code', 'understrap' ); ?>" /> <button type="submit" class="btn btn-outline-primary" name="apply_coupon" value="<?php esc_attr_e( 'Apply coupon', 'understrap' ); ?>"><?php esc_attr_e( 'Apply coupon', 'understrap' ); ?></button>
2017-04-14 10:49:24 +00:00
< ? php do_action ( 'woocommerce_cart_coupon' ); ?>
</ div >
< ? php } ?>
2016-11-18 22:27:36 +00:00
2018-10-30 00:19:44 +00:00
< button type = " submit " class = " btn btn-outline-primary " name = " update_cart " value = " <?php esc_attr_e( 'Update cart', 'understrap' ); ?> " >< ? php esc_html_e ( 'Update cart' , 'understrap' ); ?> </button>
2016-11-18 22:27:36 +00:00
2017-06-29 12:39:46 +00:00
< ? php do_action ( 'woocommerce_cart_actions' ); ?>
2016-11-18 22:27:36 +00:00
2018-06-06 01:59:33 +00:00
< ? php wp_nonce_field ( 'woocommerce-cart' , 'woocommerce-cart-nonce' ); ?>
2017-06-29 12:39:46 +00:00
</ td >
</ tr >
2016-11-18 22:27:36 +00:00
2017-06-29 12:39:46 +00:00
< ? php do_action ( 'woocommerce_after_cart_contents' ); ?>
</ tbody >
</ table >
< ? php do_action ( 'woocommerce_after_cart_table' ); ?>
2016-11-18 22:27:36 +00:00
</ form >
< div class = " cart-collaterals " >
2017-06-29 12:39:46 +00:00
< ? php
/**
2018-03-22 19:58:39 +00:00
* Cart collaterals hook .
2017-06-29 12:39:46 +00:00
*
* @ hooked woocommerce_cross_sell_display
* @ hooked woocommerce_cart_totals - 10
*/
2018-03-22 19:56:16 +00:00
do_action ( 'woocommerce_cart_collaterals' );
2017-06-29 12:39:46 +00:00
?>
2016-11-18 22:27:36 +00:00
</ div >
2019-07-04 14:58:08 +00:00
< ? php do_action ( 'woocommerce_after_cart' );