Mastering WooCommerce Hooks: Setting Minimum And Maximum Order Quantities

Mastering WooCommerce Hooks: Setting Minimum And Maximum Order Quantities

I’ve been thinking about continuing my Mastering WooCommerce Hooks series here on my personal Website instead of another Website. It has been a long time since I write anything related to WooCommerce and WordPress so hopefully this series will help me do just that, about one post every week or so.

This week’s article we’ll be building a simple interface on the Add New Product page where you’ll be able to set Minimum and Maximum per order quantities. Not only we’ll be implementing these fields, there is going to be a third one which will control the “step” or the amount to be incremented everytime someone clicks on the little up arrow on the product description page.

The image below shows exactly what it will look on the back-end of the site on the Add New Product page.


Building the WordPress/WooCommerce Plugin

We are going to be developing this as a plugin so that we can re-use it if we wanted to. Below is the code for the plugin and the first part of the implementation which happens to be registering the input fields to the Product data section you normally see when setting up a product in WooCommerce.

Registering the Input Fields

Go ahead and activate the plugin now and navigate to the Add New Product screen or simply try to edit one of your existing products.

Saving These New Product Fields

Add a new method to our class (remember we are building this as a WordPress plugin using PHP classes) so that we can save the data when present or delete it when not needed.

Making It All Work

Now here comes the fun part. Making it all work on the front-end through the product description page. Let’s add another hook to the init() method and then implement the function which is going to change the default values on those indivudual products that you have set a minimum, maximum or step value.

Fun Part

Here is the final code with comments and ready to be dropped into the plugins folder.

Published by

Yojance Rabelo

To me, WordPress is a system to which versatility and power come naturally. Over the last thirteen years of my life, I have seen WordPress evolve from a simple blogging platform into the leading CMS that powers more than 27% of the Internet. My experience is broad, ranging all the way from writing WordPress plugins to creating WordPress themes based on PSD files. I am a master of developing and deploying membership sites powered by WooCommerce, WooCommerce Memberships, and WooCommerce Subscriptions.