WooCommerce Opening Hours is the market-leading extension for adding times to your WooCommerce store. These times can be used to restrict purchases to certain times or dates, or to allow or force the customer to choose a date and (optionally) a time (e.g. for delivery or pick-up), or to advise the customer of when his order will be fulfilled – and more. Ideal for stores with timed deliveries, restaurants, take-aways and anyone else who wants to restrict or allow customer choice of ordering and/or delivery times.

To see screenshots of this plugin in action, scroll down the page.

  • You can add as many opening/closing times you like each day/week, including one-off holidays and repeating annual holidays.
  • You can have different times for different shipping methods (e.g. one set for pick-up, another for delivery)
  • You can make the times only come into play for specific shipping classes (e.g. if you have some products that are time-limited, whilst others aren’t)
  • You can make configure extra times which only come into play for specific product categories (e.g. lunch-time only menu).


You can then cause visitors to do any of these things:

1) always choose a time
2) choose a time only if the shop is currently closed
3) allow the user to always check-out without choosing a time, but out of hours advise them of when the next allowed times are
4) not be able to order at all until the shop opens

The customer’s choice (where there is one) is then shown both on the order email, and in the back-end with the order listing and order details. Note: Though this description talks about “delivery”, this is not essential – i.e. the plugin is not only for situations where you have physical deliveries, but for any situation where you want time-based restrictions.

The plugin is fully internationalised (i.e. ready for translations). 41 different languages are fully translated for the front-end date/time picker (i.e. what the user will see), and a further 33 have all date terms translated (month and day names). For the back-end (i.e. what the shop owner will see), the current languages available are: English, Dutch, German, Spanish, Bulgarian (we have a website where you can quickly + easily add your own). It will also respect your WordPress timezone and time and date format settings.

Tested and compatible with WooCommerce 3.4 and up (including the latest) – and every version of WordPress which those plugins run on, and integrated with “WooCommerce Print Orders”, “WooCommerce Delivery Notes”, and “WooCommerce PDF Invoices and Packing Slips” (i.e. the selected time will be printed on their print-outs).


Configuring opening times (these settings are found on the WooCommerce -> Settings -> General page; N.B. If you close at midnight, enter that as “until 24:00″, not “until 00:00″; if you are open past midnight, then enter two sets of opening hours (one until 24:00, the other starting from 00:00 the next day):

Setting possible times, per shipping method if desired


Configuring holidays and other time restrictions:



Other settings:

Other settings


Restricting a product by category:

Restrict items by category


Choosing a time: (Note: the time format used will be what you have set in your WordPress settings – i.e. it does not have to be the 24 hour format in our screenshot below)

Choosing a time

Instead of the sliders shown in the screenshot below, you can have a drop-down if you prefer.

Choosing a suitable time

Information shown to the customer

Note – the message is configurable; in this example, we were using the plugin on a restaurant site.

Information shown to the customer


Customer order email (Note: the time format used will be what you have set in your WordPress settings – i.e. it does not have to be the 24 hour format in our screenshot below)

Customer order email


Chosen time displayed in the dashboard

Chosen time displayed in the dashboard

Chosen times shown in the order listing
Times shown in the WooCommerce order listing

Other options available:

  • Choose to have the times apply even with virtual goods (i.e. goods which don’t require physical delivery). e.g. If you wish to close your store on Sunday for all your products, whether they require shipping or not, then you can.
  • Choose to apply your settings only if products from certain shipping classes are in the cart. i.e. If your store sells mixed goods of different kinds, and if WooCommerce’s built in “virtual” attribute is not enough, then you can also use this option to decide which goods are subject to timing restrictions.
  • Choose a maximum time (number of days) in the future that can be chosen.
  • Choose a “minimum order fulfilment” time. Times chosen must be at least this far in the future (and the default time suggested will fulfil this criteria). As you’d expect, if your shop closes for the day within this time period, then the customer will have to choose a time on the next available day (so, it can be used to enforce a “last orders for the day” time).

As is the norm with most WordPress premium plugins (and all official WooThemes WooCommerce extensions), your purchase not only includes the plugin, but access to new versions for 12 months. (After 12 months, you can carry on using the version you have installed; or you are welcome to purchase again for access to future releases).

You must log in and be a buyer of this download to submit a review.