Waitlist popup

  1. Documentation
  2. Plugins
  3. WooCommerce
  4. Extensions

WooCommerce Waitlist

Waitlist popup

Show

WooCommerce Waitlist allowscustomers to sign up to be notified by email when an out-of-stock product becomes available.

As a store owner you can also review who is on the waiting list for which products and sort products by the number of people registered on the waiting list.

Installation Back to top

  1. Download the .zip file from your WooCommerce account.
  2. Go to: WordPress Admin > Plugins > Add New to upload the file you downloaded with Choose File.
  3. Activate the extension.

More information at: Installing and Managing Plugins.

Upgrading to Version 2? Back to top

Improvements have been made to the plugin with the release of version 2, the most significant being:

  • You can add waitlist elements anywhere on your site with the use of a shortcode [woocommerce_waitlist product_id=123] where product_id equals the ID of the product for which you want the user to join the waitlist. More information about shortcodes at: WordPress Codex Shortcode
  • No more page reloads when a user is added to a waitlist. Waitlist updates are handled in the background, and customers need not wait for a page reload when adding themselves. Customers click a button and are greeted with a notification that they have successfully signed up.

There have been minor adjustments to the layout of waitlist elements displayed on the frontend. Waitlist elements are always grouped together on the page and can be styled by targeting their wrapper classes. If you notice issues with styling, review the following guidelines and adjust CSS accordingly:

  • Different WooCommerce pages can be targeted using the supplied body classes. For example: .single-product for single products and .post-type-archive-product for the shop page and other product archive pages (e.g., product category pages).
  • Default WooCommerce wrapper classes can be used to specify styles for different product types. For example, .product-type-variable and .product-type-simple for variable and simple products, respectively.
  • Waitlist elements are wrapped using the .wcwl_frontend_wrap class on product archive pages and .wcwl_elements on single product pages. This difference is due to the additional toggle button added on archive pages to avoid cluttering the page.

If extensive customizations are in place on your site, we recommend editing these to reflect the new template changes. A waitlist can be included with the new shortcode and should make everything simpler for complicated setups or custom product types. Any legacy code should still work if the appropriate filters were utilized, but this is no longer the recommended approach.

If you have queries on the changes or need help with your customizations, please submit a support ticket and we will be happy to assist you.

Setup and Configuration Back to top

Settings Screen Back to top

There are options to customize the plugin to suit your needs on the settings screen. Go to WooCommerce > Settings > Products, and select the Waitlist link.

Display options enable you to control what your customer see in your shop:

Waitlist popup

  • Waitlist require registration logged out customers will be met with a notice informing them that they need to register where you would usually see the waitlist.
  • Force account creation when a customer adds themselves to the waitlist an account will be silently created in the background and a new account email will be sent to the customer.
  • Opt-in options show a consent message and checkbox which the customer will need agree to and check before being able to submit the waitlist form
  • Show waitlist elements on shop page whether or not you want to show the waitlist elements on the shop archive page. This will only work for simple products.

Administration options allow the shop manager to specify options to make the plugin work for them:

Waitlist popup
  • Archive waitlist Keep a list of email addresses after they have been removed from the waitlist (along with a date of when they were removed).
  • Minimum Stock The minimum stock amount required for waitlists to activate and send in stock notifications. This can also be set per product on the product edit screen.
  • Remove data on uninstall By default the waitlist data will not be removed when uninstalling the plugin. If you would like to delete all waitlist data (this includes removing all waitlists and archives) you can check this option.
  • Export waitlist data This button will collate all of your waitlist data into a downloadable CSV file.

Update options are for the sole purpose of updating the stored metadata pertaining to the plugin (this may be required when updating from an older version):

Waitlist popup

  • Update waitlist counts If you notice your waitlist counts are wrong for any reason they can be recalculated here. This was implemented for older versions of the plugin when metadata structure was updated.
  • Update waitlist metadata Older versions of the plugin used a different metadata structure and this manually updates your current data to this structure. Should not be required unless you are updating from a very old version of the plugin.

Products Listing Screen Back to top

WooCommerce Waitlist adds a new column to the Products listing in the WordPress administration area, displaying the number of users on the waiting list for a product. This column is sortable to enable Shop Managers to quickly find the most sought after products in the catalog.

Waitlist popup

Edit Product Screen Back to top

WooCommerce Waitlist adds a new product tab to the Edit Product screen. This new tab displays any customers that are currently on the waiting list for the product, any customers that were sent an in-stock notification email and subsequently removed from the waiting list (if archiving is enabled) and available options for this product.

On the waitlist tab the shop manager can add single or multiple email addresses (separated by a comma), remove customers from the waiting list, manually send out in-stock notification emails or send custom emails:

Waitlist popup

On the archive tab the shop manager has options to add customers back to the waiting list (these customers will remain in the archive until deleted), permanently delete customers from the archive or send the customers a custom email (if, for example, it is suspected a notification email has not reached them). If a customer removes themselves from the archive (via the My Waitlists tab on the My Account page), this tab will also reflect this:

Waitlist popup

The options tab provides the shop manager with the ability to enforce specific options for certain products. If set here, these options will override the global options (for this product only):

Waitlist popup

Waiting lists are updated instantly when working on the product edit screen. This avoids having to update/save the product post each time an edit is required.

For variable products it is advised that the product is updated when changes are made to variations (for example, altering the stock level/status) as changes will not be instantly reflected on the Waitlist tab.

When sending out custom emails from these tabs the default mail client on your computer will be activated.

Automated Emails Back to top

When a product is switched from Out-ofstock status to In-stock, or when quantity increases past a set limit, WooCommerce Waitlist sends all users on the waiting list an email informing them that the product is back in stock, with a link to the product listing for making purchases.

The emails follow the same design as all other WooCommerce emails, but the subject and the heading can be altered at WooCommerce > Settings > Emails > Waitlist Mailout.

Waitlist popup

Here, it is also possible to add google analytics tracking codes to the product link sent out in the email.

Once this email is sent, WooCommerce Waitlist removes all users from the waiting list for this product. If the product is subsequently switched back to Out-of-stock, the waiting list will be empty.

The settings for emails sent to an administrator when a user signs up to a waitlist can be found at WooCommerce > Settings > Emails > Waitlist Admin Sign-up Email:

Waitlist popup

There is also a Waitlist joined notification, Waitlist left notification and Waitlist double opt-in email that can be enabled, disabled and edited in a similar manner.

Waitlist Archiving Back to top

When a product comes back into stock and automated emails are turned on, a record of the waiting list is saved. The archive tab lists all of the customers that were sent a back in stock notification, the date that the emails were sent and provides controlsto manually add the customers back to the waiting list, remove them permanently or send custom emails:

Waitlist popup

Opt-In Options Back to top

Options have been added to display an opt-in checkbox and a notice to users signing up to a waiting list. With these options enabled new users will need to consent to an account being created and receiving further communications before being allowed to join the waiting list. This can be enabled for both new users and existing users (a different notice is shown to for each):

Waitlist popup

There is now an option to use double opt-in for any non-registered visitors on your site that join the waitlist. This will not add the visitor to the waitlist until they have confirmed their email address (via a link sent to the email added to the waitlist form).

Displaying Waitlist Elements on Product Archive Pages Back to top

An option has now been added to display the waitlist elements on product archive pages. With this enabled, users will be able to join waiting lists for products from the shop page, product category pages or any other product archive pages:

Waitlist popup

Personal Data Back to top

If Force account creation is selected in the options WooCommerce Waitlists will create a user for each email that signs up to a waitlist, allowing the user to take control of their data. This means we do not actually store user email addresses anywhere else other than the default user table in the database. With this option disabled, email addresses are stored on the waitlist in the postmeta table. Users will receive an unsubscribe link via the waitlist joined notification email if enabled.

When processing data erasure requests (added in WordPress 4.9.6) there is an option to retain waitlist information if required, this can be found at WooCommerce > Settings > Accounts & Privacy. When this option is selected, all waitlist data is removed when deleting personal data for a user.

Customization Back to top

WooCommerce Waitlist comes with action and filter hooks for your customization needs. For more information on using hooks in WordPress, seePlugin API.

Note: This is a Developer levelsection. If you are unfamiliar with hooks and filtersand resolving potential conflicts, select a WooExpert or Developerfor assistance. We are unable to provide support for customizations under our Support Policy.

Action Hooks Back to top

  • wcwl_before_add_user_to_waitlist
  • wcwl_after_add_user_to_waitlist
  • wcwl_before_remove_user_from_waitlist
  • wcwl_after_remove_user_from_waitlist
  • wcwl_mailout_send_email
  • wcwl_new_signup_send_email

Filter Hooks Back to top

Options

  • wcwl_persistent_waitlists_are_disabled
  • wcwl_automatic_mailouts_are_disabled
  • wcwl_enable_waitlist_for_backorder_products

Admin

Text
  • wcwl_empty_waitlist_introduction
  • wcwl_variation_tab_title
  • wcwl_updated_nag_text
  • wcwl_dismiss_nag_text
Template paths
  • wcwl_include_path_admin_panel_tabs
  • wcwl_include_path_admin_panel_waitlist_tab
  • wcwl_include_path_admin_panel_archive_tab
  • wcwl_include_path_admin_panel_options_tab
  • wcwl_include_path_admin_panel_side_tab
  • wcwl_include_path_admin_panel_variable
  • wcwl_include_path_admin_panel_simple
  • wcwl_include_path_admin_panel_waitlist_add_new
  • wcwl_include_path_admin_panel_waitlist_actions
  • wcwl_include_path_admin_panel_archive_actions
  • wcwl_include_path_admin_panel_table_row

User Waitlist Shortcode

  • wcwl_shortcode_title
  • wcwl_shortcode_intro_text
  • wcwl_shortcode_product_title
  • wcwl_shortcode_thumbnail
  • wcwl_shortcode_remove_text
  • wcwl_shortcode_no_waitlists_text
  • wcwl_shortcode_archive_intro_text
  • wcwl_shortcode_archive_product_title
  • wcwl_shortcode_archive_remove_text
  • wcwl_shortcode_visit_shop_text

Frontend

Join Waitlist Elements
  • wcwl_join_waitlist_message_text
  • wcwl_join_waitlist_success_message_text
  • wcwl_join_waitlist_already_joined_message_text
  • wcwl_join_waitlist_button_text
  • wcwl_new_user_opt-in_text
  • wcwl_registered_user_opt-in_text
Leave Waitlist Elements
  • wcwl_leave_waitlist_message_text
  • wcwl_leave_waitlist_success_message_text
  • wcwl_leave_waitlist_button_text
Update Waitlist Elements (grouped products)
  • wcwl_waitlist_checkbox_text
  • wcwl_grouped_waitlist_message_text
  • wcwl_grouped_product_joined_message_text
  • wcwl_event_waitlist_message_text
  • wcwl_update_waitlist_button_text

Archive

  • wcwl_confirm_waitlist_button_text

Account

  • wcwl_account_tab_title
  • wcwl_account_removed_archives_message
  • wcwl_enable_waitlist_account_tab

Errors/Notices

  • wcwl_join_waitlist_user_requires_registration_message_text
  • wcwl_join_waitlist_invalid_email_message_text
  • wcwl_toggle_waitlist_no_product_message_text
  • wcwl_error_message_invalid_nonce
  • wcwl_error_message_invalid_user
  • wcwl_error_message_invalid_product
  • wcwl_email_error_message
  • wcwl_optin_error_message
  • wcwl_generic_error_message
  • wcwl_loading_message
  • wcwl_dismiss_notification_text
  • wcwl_notice_message_double_optin

Emails

  • woocommerce_email_subject_woocommerce_waitlist_mailout
  • woocommerce_email_heading_woocommerce_waitlist_mailout
  • woocommerce_email_subject_woocommerce_waitlist_signup_email
  • woocommerce_email_subject_woocommerce_waitlist_signup_email
  • wcwl_tracking_url
  • wcwl_tracking_codes

Miscellaneous

  • wcwl_show_waitlist_elements_for_page
  • wcwl_show_waitlist
  • wcwl_enable_waitlist_account_tab
  • wcwl_new_user_opt-in_text
  • wcwl_registered_user_opt-in_text
  • wcwl_email_field_label
  • wcwl_email_field_placeholder
  • wcwl_add_waitlist_for_elementor

Advanced

  • wcwl_supported_products
  • wcwl_waitlist_endpoint
  • wcwl_locate_template
  • wcwl_notification_time_limit

FAQ Back to top

Can Iadd the waitlist to a non-product/custom product page? Back to top

The plugin now includes a shortcode for adding the waitlist elements to any page on your site, all you need is the product ID. This is done by adding the following to your pages content: [woocommerce_waitlist product_id=123] where product_id equals the ID of the product you want the user to join the waitlist for.

Can a customer view all the products they are on a waiting list for? Back to top

Since version 1.7.0 customers will be able to view the products they are waiting for on the newly added Your Waitlists tab found on the default My Account page. There is also a shortcode [woocommerce_my_waitlist] which will display a list of all the products that the currently logged in user is waiting for. This will only work if for customers that have an account (select the option Force account creation to automatically create an account for all users signing up to a waitlist).

Are customers put on a waitlist in a particular order? Back to top

Yes. Customers are added to the waitlist in the order they join. A date has also been added to make it clear when each customer joined.

Does WooCommerce Waitlist work with WPML? Back to top

Yes. Support has now been added for for WPML with the release of version 1.6.1.

Does this work for affiliate products? Back to top

No. At the moment, stock status has no bearing on the output of an affiliate product listing so these have been left well alone.

Does this work for variable products? Back to top

There is a known issue when using WooCommerce Waitlist in conjunction with variable products that prevents the Waitlist UI from being displayed in the Edit Product screenwhen the Out of Stock Visibility option is set to ON.

You would only need to do this if you were managing waitlists internally, but did not want customers to be able to join a waitlist via the front-end of your site.

The only current solution to this problemis to turn this option off:

Waitlist popup

How do I change the subject/content of Waitlist Mailout emails? Back to top

The content of the email and the subject line are both editable via the WooCommerce email system. WooCommerce Waitlist adds a new section to the Emails tab of WooCommerce Settings where this can be managed. More information at:Configuring WooCommerce Settings.

The Back in stock notification email can also be completely customized by overwriting the file in your theme. This is done by copying the relevant file over from woocommerce-waitlist/templates/emails/ into your themes WooCommerce template override directory (theme/woocommerce/emails/). For more information check out this article.

What if I dont want users to be automatically emailed when a product is back in stock? Back to top

We have you covered. Add the following snippet to thefunctions.php file in your theme, and no email will be sent and users remain on the waitlist.

add_filter( 'wcwl_automatic_mailouts_are_disabled', '__return_true' );

What if I want to email users automatically, but dont want them to be removed from the waitlist? Back to top

Thats possible also. Add the following snippet to thefunctions.php file in your theme, and users remain on the waitlist until they purchase that product.

add_filter( 'wcwl_persistent_waitlists_are_disabled', '__return_false' );

Why does Waitlist only show up for some products? Back to top

If youre using the Advanced Notifications extension,besure todisable the backorder setting.

Waitlist popup

Do I have to show the My Waitlists tab on the my account page? Back to top

Not at all! Simply add the following snippet to your functions.php file in your theme and the Waitlist tab will not be loaded.
add_filter( 'wcwl_enable_waitlist_account_tab', '__return_false' );

If you would like to display customer waitlists on another page simply use the shortcode [woocommerce_my_waitlist]

The My Waitlists tab doesnt work, how can I get rid of the 404 Page not found error? Back to top

Navigate to Settings > Permalinks in the WordPress administration area and click the Save Changes button. You do not need to update any options on this page before pressing the button.

When activating the plugin a new endpoint for the account pages is added to show the customers waitlist information. When the websites URL structure is changed in this manner it can sometimes require a manual update (known as flushing permalinks) to avoid seeing 404 errors due to the older version being cached.

Can I change the text on the Waitlist buttons? Back to top

Of course, just customize the following snippet by replacing the text Custom Text for the join/leave buttons respectively. Add it to your functions.php file in your theme to see the changes.
add_filter( 'wcwl_join_waitlist_button_text', 'change_waitlist_join_button_text' );
function change_waitlist_join_button_text( $text ) {
return __( 'Custom Text' );
}
add_filter( 'wcwl_leave_waitlist_button_text', 'change_waitlist_leave_button_text' );
function change_waitlist_leave_button_text( $text ) {
return __( 'Custom Text' );
}

How can I hide the add to cart button for out of stock variations? Back to top

By default, when an out of stock variation is selected, WooCommerce disables the add to cart button but it remains visible. When displaying the waitlist button as well this can become confusing for customers. The following CSS snippet can be added to your themes custom CSS option (if provided) in the WordPress Admin or your child themes style.css:
.woocommerce-variation-add-to-cart-disabled {
display: none;
}

How can I change the language of the plugin? Back to top

The plugin is fully translatable using the provided .pot file (found in the assets/language directory in the plugin). We suggest the following steps to translate manually (the plugin also supports WPML and can be used with other translation plugins such as Loco Translate):

  • Download and install a free program called Poedit
  • Within Poedit, Click File > New from POT/PO file and choose the plugins .pot file
  • Choose your translation language
  • Translate each required string using either the bottom boxes to enter your own translations or the recommendations in the sidebar provided by Poedit
  • Once youve finished click File > Save, change the filename to reflect the plugin and add the country code at the end of the filename, this is important! (e.g. woocommerce-waitlist-fr_FR.po for French)
  • If a .mo file is not automatically generated when the .po file is saved you can generate one by clicking File > Compile to MO. This should be named the same as your .po file (woocommerce-waitlist-fr_FR.mo)
  • Save both of these files into the site directory wp-content/languages/plugins/ (if this directory does not exist you can create it (You will need to do this in your servers file manager or over FTP)
  • Change the site language in the WordPress admin by going to Settings and your translations should appear
  • If they dont appear immediately try clearing your cache and hard refreshing the page (ctrl+shift+r)

Can I show waitlists for products available on backorder? Back to top

By default, the waitlist will not be shown on any products set as available on backorder. You can use the following snippet in your child themes functions.php file to override this behaviour:
add_filter( 'wcwl_enable_waitlist_for_backorder_products', 'wcwl_force_backorder_waitlist_true' );
function wcwl_force_backorder_waitlist_true( $product_id ) {
return true;
}

The product ID is passed in here to allow further customizations if required.

Does this work for WooCommerce Product Bundles? Back to top

Support for Product Bundles has been added since version 2.1.0. By default, product bundles will now have a waitlist just like other products. A bundle is considered out of stock if any mandatory products within the bundle are not available (optional products are ignored) and notifications will be sent to a user when the bundle is available again (e.g. all mandatory products within that bundle become available). If you have complex product bundles (e.g. involving variable products that handle stock at the variation level) please get in touch using the link below to ensure our plugin will work as you require.

Does this work for WooCommerce Composite Products? Back to top

Unfortunately, we do not currently offer waitlist support for composite products but the plugin will work alongside this extension. This is another feature we would like to implement in a future version.

Does this work with Elementor? Back to top

Out of the box the waitlist plugin should work with Elementor. The plugin adds the waitlist elements to the single product page template (available if you are using Elementor Pro) by default but this can be disabled by using the following snippet if you wish to add the waitlist elements yourself using the shortcode.

add_filter( 'wcwl_add_waitlist_for_elementor', '__return_false' );

Due to the variability with the setup of Elementor; if something is amiss with the plugin please get in touch with us via a support request and we can assist with your setup.

Questions & Support Back to top

Have a question before you buy?Please fill out this pre-sales form.

Already purchased and need some assistance?Get in touch the developervia the Help Desk.