Title: tymok Presale Waitlist for WooCommerce
Author: fangox
Published: <strong>September 25, 2026</strong>
Last modified: September 25, 2026

---

Search plugins

![](https://ps.w.org/tymok-presale-waitlist-for-woocommerce/assets/banner-772x250.
png?rev=3712754)

![](https://ps.w.org/tymok-presale-waitlist-for-woocommerce/assets/icon-256x256.
png?rev=3712754)

# tymok Presale Waitlist for WooCommerce

 By [fangox](https://profiles.wordpress.org/rudi52001/)

[Download](https://downloads.wordpress.org/plugin/tymok-presale-waitlist-for-woocommerce.1.2.1.zip)

 * [Details](https://wordpress.org/plugins/tymok-presale-waitlist-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/tymok-presale-waitlist-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/tymok-presale-waitlist-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/tymok-presale-waitlist-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/tymok-presale-waitlist-for-woocommerce/)

## Description

Some products should not simply go to whoever refreshes the page fastest: a limited

drop, a hand-made batch, an advent calendar. This plugin turns those products into
a managed queue.

Switch the waitlist on for a product and nobody can order it any more. The add-to-
cart
 button is replaced by a sign-up form. When you are ready, you invite people
from the list, one by one or in batches. Each invitation unlocks the product for
exactly one customer account, for a limited quantity and a limited time. After the
purchase, or after the deadline, the right to buy is gone and the next person can
move up.

**What it does**

 * Blocks the product for everyone while the waitlist is running
 * Quota of places per product; the list closes itself when it is full
 * Shows the remaining places, the full ratio, or nothing at all
 * Customers sign up with their shop account (created on the spot if your shop allows
   registration)
 * Single-use invitation links: one account, a limited quantity, a deadline
 * Expired invitations are released automatically by a scheduled task
 * Admin overview with bulk invitations and CSV export
 * A “My waitlists” section in the customer account
 * Templates and hooks for your own adjustments

**Templates and hooks**

Copy the templates into your theme under `yourtheme/tymok-presale-waitlist-for-woocommerce/`

to change the markup. Among the available hooks are `wcwl_is_waitlist_product`, 
wcwl_validate_signup, `wcwl_after_signup`, `wcwl_form_extra_fields`, wcwl_invite_sent,`
wcwl_invite_redeemed`, `wcwl_invites_expired` and wcwl_settings_fields.

### External services

This plugin does not contact any external service. No data leaves your site.

### Privacy

The plugin stores waitlist entries: name, email address, IP address and timestamp.

The IP address serves as proof of the sign-up. Deleting the plugin only removes 
this data if you enable the corresponding setting.

## Screenshots

[⌊The waitlist form replaces the add-to-cart button on the product page.⌉⌊The waitlist
form replaces the add-to-cart button on the product page.⌉[

The waitlist form replaces the add-to-cart button on the product page.

## Installation

 1. Upload the ZIP under Plugins > Add New > Upload Plugin, then activate it.
 2. Go through WooCommerce > Settings > Waitlist (deadlines, quantity, texts).
 3. Open a product, switch to the Waitlist tab, enable it and set the quota.
 4. Invite customers under WooCommerce > Waitlist.

## FAQ

### Can customers join without an account?

No. Without a customer account the later purchase cannot be limited to one person.

If your shop allows customers to create an account on the My account page (WooCommerce
> Settings > Accounts & Privacy), the account is created straight from the sign-
up form. Otherwise customers log in first and then join the waitlist.

### Does this work with a page cache?

Waitlist product pages set DONOTCACHEPAGE and send no-cache headers. If your cache

plugin ignores that, exclude those URLs there by hand. Otherwise a stale form with
an expired nonce may be served.

### Does it work with the block-based cart and checkout?

Yes. The purchase block hooks into `woocommerce_is_purchasable`, the add-to-cart

validation and the cart check, so the Store API is covered as well.

### What happens to an invitation that is not used?

An hourly scheduled task marks it as expired, which frees the place again.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“tymok Presale Waitlist for WooCommerce” is open source software. The following 
people have contributed to this plugin.

Contributors

 *   [ fangox ](https://profiles.wordpress.org/rudi52001/)

[Translate “tymok Presale Waitlist for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/tymok-presale-waitlist-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/tymok-presale-waitlist-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/tymok-presale-waitlist-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/tymok-presale-waitlist-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/tymok-presale-waitlist-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.2.1

 * Declares WooCommerce as a required plugin (Requires Plugins header, WordPress
   6.5+).
 * Removed the option to log customers in through the invitation link. Invited customers
   
   always log in through the regular WooCommerce login.
 * The sign-up form reads and sanitizes each field individually; extension hooks
   only
    receive the sanitized form fields, never the nonce or the password.
 * Removed the unused AJAX sign-up endpoint.
 * Guests only get a customer account through the waitlist form if the shop allows
   
   account creation on the My account page (WooCommerce setting). Otherwise the 
   form asks them to log in first. Filter: wcwl_guests_can_register.

#### 1.2.0

 * Renamed the plugin to tymok Presale Waitlist for WooCommerce.
 * The shortcode is now [tymok_waitlist].

#### 1.1.0

 * Sign-ups are now matched against the normalised mailbox, so plus tags and Gmail
   dots
    count as one and the same address.
 * Removed helper methods that were not called anywhere in this plugin.

#### 1.0.2

 * First public release.

## Meta

 *  Version **1.2.1**
 *  Last updated **13 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 8.0 or higher **
 * Tags
 * [Invitation](https://wordpress.org/plugins/tags/invitation/)[Presale](https://wordpress.org/plugins/tags/presale/)
   [product launch](https://wordpress.org/plugins/tags/product-launch/)[waitlist](https://wordpress.org/plugins/tags/waitlist/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/tymok-presale-waitlist-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/tymok-presale-waitlist-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/tymok-presale-waitlist-for-woocommerce/reviews/)

## Contributors

 *   [ fangox ](https://profiles.wordpress.org/rudi52001/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/tymok-presale-waitlist-for-woocommerce/)