add_filter( 'woocommerce_quantity_input_args', function( $args, $product ) {
if( $product->get_id() === 33 ) {
$args['max_value'] = 24;
$args['min_value'] = 3;
$args['step'] = 1;
}
return $args;
}, 10, 2 );
// Add To Cart Via URL
add_action( 'wp_loaded', function() {
// Only For Add-to-cart Requests
if(
! class_exists( 'WC_Form_Handler' )
|| empty( $_REQUEST['add-to-cart'] )
) {
return;
}
// Get Request Data
$product_id = intval( $_REQUEST['add-to-cart'] );
$quantity = intval( $_REQUEST['quantity'] );
// Match Criteria
if( $product_id != 33 ) { return; }
if( $quantity >= 3 && $quantity <= 24 ) {
return;
}
// Stop Default Handler
remove_action( 'wp_loaded', [ 'WC_Form_Handler', 'add_to_cart_action' ], 20 );
// Error Message
$message = 'Sorry, but that product requires a quantity between 3 and 24.';
wc_add_notice( $message, 'error' );
} );
Force minimum and maximum quantities for a product
Forces minimum and maximum quantities for a product on the cart as well as add-to-cart URL actions.
For a more advanced version of this functionality, see WooCommerce Min/Max Quantities
How to use
- Log into a staging, development, or locally hosted clone of your site
- Install and activate Code Snippets
- WP Admin > Snippets > Add New
- Copy and paste the code from the Description tab above
- Check to ensure formatting came over properly and no syntax errors show up in the editor
- Customize the code as desired
- Add a meaningful title
- Select whether to run on front-end or back-end (or both)
- Click “Save and Activate”
- Test your site to ensure it works
- Disable if any problems, or recover
- Repeat for live environment
License
All code snippets are licensed GPLv2 (or later) matching WordPress licensing.
Disclaimer of warranty:
Except when otherwise stated in writing the copyright holders and/or other parties provide the program as-is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose.
Support
- Describe the issue and what you’ve observed.
- Describe your expected outcome(s).
- List steps to reproduce the issue.
- Optionally provide screen-shot or video URLs.
- Email to [email protected]
