Add +(Plus) & -(Minus) Buttons To Quantity Input

How can we add +(Plus) & -(Minus) buttons to the quantity input on the product page in WooCommerce?

Making a WooCommerce site has only one aim is to impress buyers to get more and more orders.
In world of competition we have to look different and unique. To show our site different from other sites we have to modify our site’s html and functionality.

Every theme has a different way of styling the different features, In many themes use buttons are used to increase and decrease the quantity of a product before adding it to the Cart, or while updating the Cart.While in many themes, there are buttons denoted by the “+” and “-” signs to add and reduce the quantity respectively, there are some theme too which use default arrow for doing it like: storefront. For such themes, we can add “+” and “–” buttons to the quantity input on the product page in WooCommerce by pasting these code to your theme’s functions.php.

 

Quantity Field is input type number but it’s look not good. instead of it we can use a plus minus button on left and right side of Quantity field.

For adding plus and minus button html use ‘woocommerce_before_add_to_cart_quantity’ and ‘woocommerce_after_add_to_cart_quantity’.

 

//For Plus
function PlusYourQuantity() {
  echo '<div class="minusplusbutton"><button type="button" class="add">+</button>';
} 
add_action('woocommerce_before_add_to_cart_quantity','PlusYourQuantity' );
//For Minus
function MinusYourQuantity() {
  echo '<button type="button" class="sub">-</button></div>';
}
add_action('woocommerce_after_add_to_cart_quantity','MinusYourQuantity');
function CustomScript() {
  // For single product page
  if ( ! is_product() ) return;
?>
<style>
  .minusplusbutton { float: left; margin-bottom: 20px; }
  button.add { float: left; background: #43c801; }
  button.add, button.sub { height: 45px; width: 45px; font-size: 30px; border: none; color: white; }
  button.sub { float: right; background: red; }
</style>
<script type="text/javascript">
jQuery(document).ready(function($){   
  $('form.cart').on( 'click', 'button.add, button.sub', function() {
    var qty = $( this ).closest( 'form.cart' ).find( '.qty' );
    var val   = parseFloat(qty.val());
    var max = parseFloat(qty.attr( 'max' ));
    var min = parseFloat(qty.attr( 'min' ));
    var step = parseFloat(qty.attr( 'step' ));           
    if ( $( this ).is( '.add' ) ) {
      if ( max && ( max <= val ) ) {         qty.val( max );       } else {         qty.val( val + step );       }     } else {       if ( min && ( min >= val ) ) {
        qty.val( min );
      } else if ( val > 1 ) {
        qty.val( val - step );
      }
    }
  });
});
</script>
<?php
}
add_action('wp_footer','CustomScript');

 

Related Blogs

Ajax Add to Cart Quantity on Shop WooCommerce

To enable AJAX add to cart with quantity selectors on the WooCommerce shop page, you’ll need to use JavaScript to handle the AJAX request and update the cart quantity dynamically. Below are the steps to achieve this:

To list down future posts in WordPress

To list down future posts in WordPress, you can use the `WP_Query` class to customize the query and fetch future posts. The future posts are the ones with a post status of “future,” and their publication date is scheduled in the future.

WooCommerce: Check if Product Category is in the Cart

To check if a specific product category is in the cart during the `woocommerce_before_cart` action hook, you can use a similar approach as in the previous answer. However, in this case, you need to use the `woocommerce_before_cart_contents` action hook, which fires before the cart items are displayed on the cart page. Here’s how you can achieve this:

Request A Quote

Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.