WP Manifestindependent plugin directory
manifest / ecommerce / woovailability

WooVailability releasesself-updates

WordPress plugin to ensure WooCommerce customers are informed about made-to-order products and relevant lead times.

by formless63 · github.com/formless63/woovailability · website

0stars
1release downloads
0forks

Install

The author publishes release zips, so WP-CLI can install straight from GitHub:

wp plugin install https://github.com/formless63/woovailability/releases/download/v1.0.1/woovailability.zip

Ships its own WordPress updater (built-in updater), so new versions show up under Dashboard → Updates.

Readme

WooVailability

WooVailability adds configurable made-to-order availability and production lead-time messaging to WooCommerce. It can show compact per-item availability in Cart and Checkout, show an order-level notice in several customer-facing locations, and snapshot availability and lead time onto the order so historical orders do not change when the current lead time changes later.

Requirements

  • WordPress with WooCommerce installed and active.
  • PHP 7.4 or newer.
  • WooCommerce 8.0 or newer.
  • A WooCommerce product tag used to identify made-to-order products. The default tag slug is made-to-order.
  • A production lead time configured under WooCommerce → WooVailability if you want a lead time displayed.

WooCommerce Cart and Checkout Blocks are supported directly. Classic Cart and Checkout have an order-level notice fallback.

Installation

  1. Open the repository's Releases page on GitHub.
  2. Open the latest stable release and download woovailability.zip from the release assets.
  3. In WordPress, go to Plugins → Add Plugin → Upload Plugin.
  4. Select woovailability.zip, install it, and activate WooVailability.
  5. Go to WooCommerce → WooVailability and review the settings before using it on a live store.

The release asset is built specifically for WordPress and contains a top-level woovailability/ plugin directory.

Updates

After the initial manual installation, WooVailability checks this repository's stable GitHub Releases through WordPress's normal plugin-update system.

When a newer stable release is available, it appears in the standard Plugins and Updates screens and can be installed with WordPress's normal Update now action. WordPress automatic plugin updates can also be enabled normally if desired.

WooVailability uses the woovailability.zip asset attached to the GitHub Release. Drafts and prereleases are ignored. Because this repository is public, no GitHub account, token, or separate updater plugin is required.

Release checks are cached to avoid unnecessary GitHub API traffic. If GitHub cannot be reached, WooVailability simply skips that update check and continues operating normally.

Quick setup

  1. Install and activate WooVailability.
  2. Go to WooCommerce → WooVailability.
  3. Set the Made-to-order tag slug. The default is made-to-order.
  4. Set the Production lead time, for example 6-8 Weeks, if you want a lead time shown.
  5. Apply the configured product tag to every parent product that should be treated as made to order.
  6. Review the global notice content and formatting.
  7. Review the Cart, Checkout, customer order, and email placement settings.
  8. Test a cart containing both an in-stock item and a made-to-order item before deploying broadly.

For variable products, WooVailability checks the parent product's tags, so individual variations do not need the tag duplicated onto them.

Settings

WooVailability adds WooCommerce → WooVailability.

General

The General section controls:

  • the made-to-order product tag slug;
  • the current production lead time;
  • the made-to-order line-item label;
  • whether in-stock line items should display an availability row;
  • the availability field label;
  • the in-stock field value.

The current lead time can also be displayed elsewhere with:

[woovailability_lead_time]

Global notice

The global notice has a title and message. The default message is intentionally generic and should be reviewed for your store's production and shipping policies.

Available placeholders are:

  • {lead_time} — the current lead time in Cart/Checkout, or the historical snapshotted lead time on an existing order;
  • {lead_time_suffix}: {lead_time} when a lead time exists, otherwise an empty string;
  • {made_to_order_label} — the configured made-to-order label.

The default title uses:

{made_to_order_label}{lead_time_suffix}

so it remains clean even when no lead time has been configured.

Placement controls

WooVailability has separate notice controls for:

  • Cart;
  • Checkout;
  • customer order details / order confirmation;
  • WooCommerce emails.

Each placement defaults to Use global. For each placement you can instead choose:

  • Custom — use a placement-specific title and message;
  • Don't show here — suppress the order-level notice in that location.

Formatting

Global notice formatting controls include:

  • background color;
  • accent/border color;
  • text color;
  • accent width;
  • border radius;
  • vertical/horizontal padding;
  • top/bottom margin;
  • font size;
  • line height.

Each placement defaults to Use global formatting and can optionally define its own formatting overrides.

WooCommerce admin order screen

The admin order screen intentionally stays compact. By default it shows one line such as:

Made to Order: 6-8 Weeks

The admin summary can be disabled or its text template can be changed in settings.

WooVailability's Availability and Production Lead Time order-item metadata are hidden from the admin line-item table to keep narrow order tables readable. The metadata itself is not deleted.

Cart and Checkout line items

When a made-to-order item has a configured lead time, it displays compactly, for example:

Made to Order: 6-8 Weeks

If no lead time is configured, it falls back to:

Availability: Made to Order

In-stock items display:

Availability: In Stock

The in-stock row can be disabled in settings.

The order-level Cart/Checkout notice appears only when the cart contains at least one product carrying the configured made-to-order tag and that placement is enabled.

Historical order snapshot behavior

When an order is created, WooVailability stores ordinary WooCommerce line-item metadata:

  • Availability
  • Production Lead Time for made-to-order items when a lead time is configured

It also stores an internal whole-order flag indicating that the order contained made-to-order items.

The production lead time is stored as plain text at checkout. If the current lead time changes later, old orders continue to retain the value quoted when they were placed.

Persisted-order notices use that historical line-item lead time rather than today's configured lead time. Notice wording and formatting remain configurable from the current plugin settings.

REST API and WooCommerce webhooks

The saved line-item metadata remains normal WooCommerce order data even though it is hidden from the admin line-item table. Standard order REST responses and normal WooCommerce order webhooks can therefore include values such as:

Availability: Made to Order
Production Lead Time: 6-8 Weeks

This can be used by fulfillment, production, ERP, or other order integrations.

Failure and safety behavior

  • Missing or mistyped made-to-order tag: products simply behave as in stock from WooVailability's perspective.
  • Empty lead time: made-to-order detection still works; the lead-time value is omitted.
  • Disabled placement: only that order-level notice is suppressed; order metadata remains intact.
  • Changing the current lead time does not rewrite old order metadata.
  • Changing product tags does not retroactively rewrite already-created order snapshots.
  • A failed GitHub update check does not affect storefront or checkout behavior.
  • WooVailability does not modify product prices, shipping rates, tax calculations, stock quantities, or existing order totals.

Compatibility

  • WooCommerce Cart and Checkout Blocks
  • Classic Cart/Checkout order-level notice fallback
  • Variable products (tag detection resolves to the parent product)
  • WooCommerce HPOS / custom order tables
  • Standard WooCommerce order emails
  • Standard WooCommerce REST order data and order webhooks

Development notes

The Block Cart/Checkout order-level notice uses WooCommerce's Blocks IntegrationInterface, Store API extension data, and ExperimentalOrderMeta SlotFill. ExperimentalOrderMeta is an experimental WooCommerce interface and may require adjustment if WooCommerce changes or graduates that API in a future release.

Stable releases are built automatically by GitHub Actions. Maintainer release instructions and validation details are documented in .github/workflows/README.md.

License

WooVailability is licensed under the MIT License.

Read the full README on GitHub →

Releases

TagPublishedAssetDownloads
v1.0.1 Aug 29, 2026 woovailability.zip 1
v1.0.0 Aug 29, 2026 woovailability.zip 0