Override loop template and show quantities next to add to cart buttons.

This is a developer-level doc. If you are unfamiliar with code/templates and resolving potential conflicts, select a Woo Agency Partner for assistance. We are unable to provide support for customizations under our Support Policy.

To display quantity input fields for simple products within your shop archive pages, add the following code to your child theme’s functions.php file:

/**
* Override loop template and show quantities next to add to cart buttons
*/
add_filter( 'woocommerce_loop_add_to_cart_link', 'quantity_inputs_for_woocommerce_loop_add_to_cart_link', 10, 2 );
function quantity_inputs_for_woocommerce_loop_add_to_cart_link( $html, $product ) {
if ( $product && $product->is_type( 'simple' ) && $product->is_purchasable() && $product->is_in_stock() && ! $product->is_sold_individually() ) {
$html = '<form action="' . esc_url( $product->add_to_cart_url() ) . '" class="cart" method="post" enctype="multipart/form-data">';
$html .= woocommerce_quantity_input( array(), $product, false );
$html .= '<button type="submit" class="button alt">' . esc_html( $product->add_to_cart_text() ) . '</button>';
$html .= '</form>';
}
return $html;
}

You will need to add this code to your child theme’s functions.php file or via a plugin that allows custom functions to be added, such as the third-party Code Snippets plugin. Please don’t add custom code directly to your parent theme’s functions.php file as this will be overwritten entirely when you update the theme.