Pre-Order for WooCommerce with Release Date & Countdown

Description

Some products sell before they exist. A restock landing in three weeks, a book with a publication date, a new colourway your supplier has not shipped yet. WooCommerce has no way to take money for those, so most stores either hide the product or lose the sale.

Pre-Order for WooCommerce by DevDiggers is a free pre-order plugin that fixes this. Pick a simple product or a single variation, give it a release date and a pre-order stock, and the Add to Cart button becomes a Pre-Order button. Customers reserve the item, pay for it now, and get an email the day it goes live.

Every pre-order product, pre-order order and release date lives in one admin area, with a dashboard that shows how much advance demand you have built up. You are not digging through the WooCommerce product editor to work out what is on pre-order and what already shipped.

Quick links

What the free plugin does

Sell upcoming and out of stock products as pre-orders

Turn any simple product or individual variation into a pre-order product in a few clicks. Pre-order stock is stored separately from your normal stock, so a product sitting at zero can still be reserved and reserving fifty units does not touch the inventory you already have on the shelf. The product’s original stock settings are saved and put back when it is released.

  • Works on simple products and on individual variations of a variable product
  • Separate pre-order stock, so nothing overwrites your real inventory
  • Your own Pre-Order button text, set globally
  • Pre-order status you can flip by hand at any time

Show a release date and a countdown timer on the product page

The product page gets a clear “Available On” line, an optional live countdown timer, your pre-order message and the stock status, so nobody has to guess when the thing actually ships.

  • Countdown timer switched on per product, so a launch gets one and a routine restock does not
  • Availability date and time pulled from the release date you set
  • Pre-order notice written once globally, or rewritten for a single product
  • Colour controls for the availability label, availability date, countdown accent, stock status and account tables

Put a Pre-Order badge on shop and category pages

Customers spot upcoming products before they click, which is the difference between a browse and a reserved order.

  • Pre-Order badge on shop, category and single product pages
  • Your own badge text, badge position and corner radius
  • Release date shown on the product card in the catalogue
  • Badge background and text colours to match the theme

Release products automatically on the release date

An hourly scheduled task checks for products whose release date has passed, flips them to available, restores their original stock settings and emails everyone who reserved one. Nothing waits for a visitor to open the product page.

You can also release products by hand from the products screen, one at a time or in bulk, when a shipment lands early.

Email customers when their pre-order is placed and when it ships

Three emails ship in the free version, and all three are editable with their own heading, subject and rich text message:

  • Pre-order placed, sent to the customer straight after checkout
  • Product available, sent to every customer who reserved it on release day
  • New pre-order received, sent to you when someone reserves something

Placeholders such as {customer_name}, {product_name}, {product_sku}, {availability_date}, {order_number} and {order_total} fill in automatically.

Give customers a My Pre-Orders page in WooCommerce My Account

Customers get their own pre-orders page inside their account, listing every reservation with its date, status, total and the usual pay, view and cancel actions. The endpoint slug and the page title are both configurable, and the normal Orders page also gains a Pre-Order column.

Manage pre-order products, orders and demand from one place

  • Dashboard with pre-order products, active products, orders, revenue, customers and a pre-order sales trend chart
  • Products screen with search, availability and status filters, plus bulk actions to set available, set unavailable, send the availability email or delete
  • Orders screen listing every pre-order with its items, release dates and payment summary
  • Optional shipping rules, so pre-order items can skip shipping while the rest of a mixed cart still pays for it
  • Optional mixed cart, so pre-orders and in-stock products can be bought in the same checkout
  • Shortcode to drop the pre-order block onto any page, with a shortcode name you choose
  • Setup wizard that configures the plugin right after activation
  • HPOS and block checkout compatible, and fully translatable

Who this is for

Stores taking advance orders for stock that has not landed yet. Product launches with a fixed release day. Limited runs and drops that sell out in minutes. Publishers and labels working to a street date.

It is also useful when you are not sure how much to order. Open pre-orders, watch the numbers on the dashboard for a week, then place the purchase order knowing what the demand actually is.

How to set up your first pre-order product

  1. Go to Pre-Order > Products > Add New and pick a simple product or a variation.
  2. Enter the pre-order stock, the release date, and whether to show the countdown.
  3. Save. The product page now shows the release date, the countdown, your notice and a Pre-Order button.
  4. A customer reserves the product and pays for it. The order is flagged as a pre-order and shows up under Pre-Order > Orders.
  5. On the release date the product becomes available on its own, and everyone who reserved it gets the availability email.

Free vs Pro

The free version covers the whole pre-order workflow, with the product’s own price taken in full up front. The Pro version is for stores that need deposits, pre-order pricing or rules about who can reserve what.

Pricing and payments (Pro)

  • Custom pre-order price per product: an early bird discount, a launch markup, or a deposit
  • Partial payment pre-orders: take a deposit now, collect the balance when the product is released
  • Auto charge on release, taking the balance from the customer’s saved payment method
  • A Complete Pre-Order action that adds only the remaining balance to the cart
  • Pre-order fee, flat or percentage, on carts containing pre-orders
  • Free shipping on pre-order products
  • Remaining amount reporting in the admin orders list and in the customer’s account
  • Reserved stock tracking for deposit pre-orders

Products and eligibility (Pro)

  • Turn every out of stock product in the catalogue into a pre-order automatically
  • Maximum quantity per order and per customer, globally and per product
  • Restrict pre-orders to logged in customers or to selected user roles
  • Restrict which payment gateways can be used for pre-order checkouts
  • Map your own order statuses to confirm or release a pre-order

Automation and notifications (Pro)

  • Daily admin reminder for products approaching their release date
  • Release date changed email to every customer holding a reservation, showing the old date next to the new one

Reporting and design (Pro)

  • Release status and product status charts
  • Recent pre-order activity, top pre-order products and the release pipeline
  • Five countdown styles: minimal, flip, circle, square and boxed
  • CSV export of pre-order products and pre-order orders

External services

This plugin uses the following external services. All of them only run inside the WordPress admin, and each is described here so you know what is sent, why, and when.

1. DevDiggers extensions directory

  • What it is: A read only API on devdiggers.com that returns the public list of DevDiggers WooCommerce extensions.
  • What it is used for: Showing available DevDiggers extensions on the plugin’s Extensions admin page.
  • When data is sent: Only when a logged in administrator opens the Extensions admin page. The response is cached for 24 hours, so the request does not repeat on every page load.
  • What data is sent: A standard outbound HTTP request only, meaning your server’s IP address and a plugin user agent string, as with any web request. No personal data and no store data are sent.
  • Endpoint: https://devdiggers.com/wp-json/ddwcs/v1/plugins

2. Newsletter subscription (optional)

  • What it is: A contact and newsletter endpoint on devdiggers.com.
  • What it is used for: Adding your email address to the DevDiggers newsletter, only if you choose to subscribe.
  • When data is sent: Only when an administrator submits the optional newsletter form in the plugin dashboard. Nothing is sent automatically.
  • What data is sent: The email address you enter and your site URL.
  • Endpoint: https://devdiggers.com/

3. Gravatar (avatar images)

  • What it is: Gravatar, the globally recognised avatar service operated by Automattic.
  • What it is used for: WordPress core’s get_avatar_url() is used to show the logged in administrator’s avatar in the plugin dashboard header. This is standard WordPress behaviour and is not specific to this plugin.
  • When data is sent: Only when a logged in administrator opens the plugin dashboard and WordPress avatars are enabled in Settings > Discussion. Disabling avatars there stops the request completely.
  • What data is sent: An MD5 hash of the administrator’s email address, inside the image URL requested by the browser, plus the usual request data such as IP address and user agent.
  • Endpoint: https://secure.gravatar.com/avatar/
  • Terms of Service: https://automattic.com/terms/
  • Privacy Policy: https://automattic.com/privacy/

The DevDiggers services above (1 and 2) are provided by DevDiggers. By using them you agree to the DevDiggers Terms and Conditions (https://devdiggers.com/terms-and-conditions/) and Privacy Policy (https://devdiggers.com/privacy-policy/).

Source code and build tools

The admin and frontend JavaScript and CSS are compiled from the src/ folder with webpack and Babel. The complete, human readable source code, including all build configuration, is published in our public GitHub repository:

https://github.com/DevDiggers-Technologies/pre-order-for-woocommerce

To build the assets from source:

  1. Run npm install to install the build dependencies listed in package.json.
  2. Run npm run build to compile the production assets into assets/js and assets/css.

The build configuration is in webpack.config.js and babel.config.js.

Screenshots

Installation

Automatic installation

  1. Go to Plugins > Add New in your WordPress admin.
  2. Search for “Pre-Order for WooCommerce with Release Date & Countdown” by DevDiggers.
  3. Click Install Now, then Activate.
  4. Follow the setup wizard, or go to Pre-Order > Configuration.

Manual installation

  1. Download the plugin ZIP file.
  2. Go to Plugins > Add New > Upload Plugin and choose the ZIP file.
  3. Click Install Now, then Activate.

Requirements

  • WordPress 6.2 or higher
  • WooCommerce 9.5 or higher
  • PHP 7.4 or higher

FAQ

How do I make a product available for pre-order in WooCommerce?

Go to Pre-Order > Products > Add New, pick a simple product or a variation, set the pre-order stock and the release date, then save. The Add to Cart button on that product becomes a Pre-Order button.

Does this plugin require WooCommerce?

Yes. WooCommerce has to be installed and active.

Can I take pre-orders on a product that is out of stock?

Yes. Pre-order stock is separate from your normal stock, so a product with nothing on the shelf can still be reserved. Converting every out of stock product in the catalogue to a pre-order automatically is a Pro feature.

Do customers pay when they place the pre-order, or on release day?

They pay in full when they place it, at the product’s own price. Charging a different pre-order price, or taking a deposit now and the balance on release, are Pro features.

How do I add a countdown timer to a WooCommerce product page?

Set an availability date on the pre-order product and turn the countdown on for it. The timer is per product, so you can run it on a launch and leave it off on a routine restock. Extra countdown styles are a Pro feature.

Does the product become available on its own when the release date arrives?

Yes, when “Automatically Set Available” is on. An hourly task releases every product whose date has passed, restores its original stock settings and sends the availability email. You can also set products available by hand from the products screen, in bulk if you want.

Are customers emailed when the pre-ordered product is released?

Yes. Everyone who reserved it gets the availability email, which you can rewrite under Pre-Order > Configuration > Emails.

Does pre-order stock affect my normal WooCommerce stock?

No. It is stored separately, and the product’s original stock settings are saved and restored on release.

Can customers buy pre-orders and normal products in the same order?

Yes, when “Mixed Cart Checkout” is on. With it off, a cart containing a pre-order stays pre-order only.

Can I hide shipping on pre-orders?

Yes. Turn off “Shipping in Pre-Order” and pre-order items skip shipping. Regular products in a mixed cart still ship as normal.

Where do customers see the pre-orders they have placed?

On the My Pre-Orders page in their WooCommerce account, with pay, view and cancel actions. The URL slug and the page title are both configurable under Configuration > General. Save your permalinks afterwards if the page 404s.

Does it work with variable products?

Yes. Pre-orders are set per variation, so one variation can be on pre-order while the rest sell normally.

Can I show a Pre-Order badge on the shop page?

Yes. Badges can be shown on shop and category cards and on single product pages, with your own text, position, corner radius and colours. The release date can be shown on the card too.

Is there a shortcode?

Yes. The pre-order block can be dropped onto any page with a shortcode, and you can rename the shortcode under Configuration > Shortcodes.

Does it work with HPOS and the block checkout?

Yes. The plugin declares compatibility with High Performance Order Storage and with the cart and checkout blocks.

Can I translate the plugin?

Yes. It is fully translatable and ships with a POT file in the i18n folder.

Will my data survive an upgrade to Pro?

Yes. Pro reads the same product and order data, so every existing pre-order stays intact.

Where can I get help?

Use the WordPress.org support forum or contact DevDiggers.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Pre-Order for WooCommerce with Release Date & Countdown” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.0

  • Initial free release.