WooCommerce catalog order

Show Out of Stock Products Last for WooCommerce

Move out-of-stock products to the end of your shop pages.

$39per year after a 14-day trial

No card required. Add a payment method before day 14 to continue; otherwise Stripe cancels the subscription automatically.

WooCommerce Out of Stock Last settings with the single switch enabled
Real WordPress interfaceFree 0.1.1 / Pro 0.1.1
One jobMove out-of-stock products to the end of WooCommerce's standard shop, category, and product-search lists through one read-time ordering clause, without editing stock, products, templates, pagination, or non-standard queries.
RequiresWooCommerce 8.9 or newer
Free statusRelease candidate prepared for WordPress.org review

Three decisions

Set it up without code.

01

Open WooCommerce > Out of Stock Last and turn on the single switch.

02

Open the native shop page and one category while signed out.

03

Confirm in-stock products lead, then turn the switch off and see the native order return immediately.

Actual product

What you configure and what the visitor sees.

WooCommerce Out of Stock Last settings with the single switch enabled
Free asks one question: should out-of-stock products move to the end of standard shop lists?
WooCommerce shop page listing in-stock products before an out-of-stock product
Buyable products lead while the sold-out product stays visible at the end.
Mobile WooCommerce shop listing in-stock products before an out-of-stock product
The same native product order holds at a 390-pixel viewport without plugin CSS or JavaScript.
Out of Stock Last Pro choices for native-order category exceptions and hide mode
Pro adds bounded category exceptions and one hide-or-list-last choice.

Free and Pro

Free keeps working. Pro adds capacity.

Free 0.1.1

No account or license required

  • Turn on one global switch after WordPress capability and nonce checks.
  • List in-stock products before out-of-stock products only in WooCommerce's standard shop, category, and product-search loops.
  • Leave page-builder grids, shortcodes, widgets, feeds, admin lists, REST responses, pagination, and search relevance on native behavior.

Prepared for WordPress.org submission; no public-directory approval is claimed yet.

Failure boundary

Designed to stop quietly instead of changing store truth.

The free workflow is independent of Stripe, the StoreFixKit license API, and Pro. A billing or network problem cannot rewrite the parent plugin's data.

  • Adds one ordering clause only after WooCommerce marks a verified standard product loop; every uncertain query is returned unchanged.
  • Products, stock values, visibility, categories, templates, pagination counts, carts, orders, and customers are never written.
  • Free continues locally when Pro, billing, the network, or the StoreFixKit license service is unavailable.
  • No catalog scan, custom table, cron, queue, telemetry, frontend asset, or storefront StoreFixKit request.

14-day trial

No card required to test Pro on one site.

Stripe hosts checkout and billing. The StoreFixKit success page creates a product-bound license and Pro download. Add a payment method before trial end only if you want the annual plan to continue.

Before installing

Short answers to the important questions.

Will this edit my stock values or product order?

No. It reads WooCommerce's stock state while a standard product query runs and appends one ordering clause; no product or stock value is written.

Why did my Elementor product grid stay unchanged?

Page-builder and shortcode queries are deliberately outside this release. They keep their native clauses instead of receiving an unverified adapter.

What happens when I turn the switch off?

The ordering clause stops applying on the next request and WooCommerce's native catalog order returns with no residue.