diff --git a/includes/wc-template-functions.php b/includes/wc-template-functions.php index 54420f2c4b8..6523d24cc97 100644 --- a/includes/wc-template-functions.php +++ b/includes/wc-template-functions.php @@ -2083,6 +2083,17 @@ if ( ! function_exists( 'woocommerce_widget_shopping_cart_proceed_to_checkout' ) } } +if ( ! function_exists( 'woocommerce_widget_shopping_cart_subtotal' ) ) { + /** + * Output to view cart subtotal. + * + * @since 3.7.0 + */ + function woocommerce_widget_shopping_cart_subtotal() { + echo '' . esc_html( 'Subtotal', 'woocommerce' ) . ': ' . WC()->cart->get_cart_subtotal(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + } +} + /** Mini-Cart */ if ( ! function_exists( 'woocommerce_mini_cart' ) ) { diff --git a/includes/wc-template-hooks.php b/includes/wc-template-hooks.php index 26a0139922d..cd7f3bce62b 100644 --- a/includes/wc-template-hooks.php +++ b/includes/wc-template-hooks.php @@ -220,6 +220,7 @@ add_action( 'woocommerce_checkout_terms_and_conditions', 'wc_terms_and_condition */ add_action( 'woocommerce_widget_shopping_cart_buttons', 'woocommerce_widget_shopping_cart_button_view_cart', 10 ); add_action( 'woocommerce_widget_shopping_cart_buttons', 'woocommerce_widget_shopping_cart_proceed_to_checkout', 20 ); +add_action( 'woocommerce_widget_shopping_cart_total', 'woocommerce_widget_shopping_cart_subtotal', 10 ); /** * Cart. diff --git a/templates/cart/cart.php b/templates/cart/cart.php index fb9690c416a..b89431491e8 100644 --- a/templates/cart/cart.php +++ b/templates/cart/cart.php @@ -12,7 +12,7 @@ * * @see https://docs.woocommerce.com/document/template-structure/ * @package WooCommerce/Templates - * @version 3.5.0 + * @version 3.7.0 */ defined( 'ABSPATH' ) || exit; @@ -48,13 +48,17 @@ do_action( 'woocommerce_before_cart' ); ?> ×', - esc_url( wc_get_cart_remove_url( $cart_item_key ) ), - esc_html__( 'Remove this item', 'woocommerce' ), - esc_attr( $product_id ), - esc_attr( $_product->get_sku() ) - ), $cart_item_key ); + echo apply_filters( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + 'woocommerce_cart_item_remove_link', + sprintf( + '×', + esc_url( wc_get_cart_remove_url( $cart_item_key ) ), + esc_html__( 'Remove this item', 'woocommerce' ), + esc_attr( $product_id ), + esc_attr( $_product->get_sku() ) + ), + $cart_item_key + ); ?> @@ -101,13 +105,17 @@ do_action( 'woocommerce_before_cart' ); ?> if ( $_product->is_sold_individually() ) { $product_quantity = sprintf( '1 ', $cart_item_key ); } else { - $product_quantity = woocommerce_quantity_input( array( - '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(), - ), $_product, false ); + $product_quantity = woocommerce_quantity_input( + array( + '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(), + ), + $_product, + false + ); } echo apply_filters( 'woocommerce_cart_item_quantity', $product_quantity, $cart_item_key, $cart_item ); // PHPCS: XSS ok. @@ -151,6 +159,8 @@ do_action( 'woocommerce_before_cart' ); ?> + +
?> -

: cart->get_cart_subtotal(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>

+

+ +

+ +