Practical WordPress guide

Show Stock Quantity on Shop Pages for WooCommerce: safe setup, failure cases, and rollback

A plain-language guide for nontechnical site owners. It separates what the parent plugin really knows from what a helper plugin should never guess.

Reviewed July 22, 2026Official-source links includedNo invented performance claims

Direct answer

WooCommerce saves a quantity when Manage stock is enabled on a simple product, but a native shop card does not always print it. The narrow solution is to read the product already loaded in the classic WooCommerce loop and display that saved whole number as plain text. Do not run a second product query or rewrite inventory. Show nothing when the product is variable, does not manage stock, or returns an uncertain value. That keeps display logic separate from stock truth.

Show Stock Quantity on Shop Pages for WooCommerce follows that boundary. Free shows valid managed-stock quantities for simple products in native classic shop and category loops. Pro adds a 0-to-100 threshold, one bounded {quantity} label, and up to 25 category choices for $39 per year on one site after a 14-day no-card trial.

Choose the smallest suitable approach

Approach What it changes Main tradeoff
Focused setting Displays the saved quantity already on the current product Supports a deliberately narrow loop and product boundary
Code snippet Adds a hook and output you maintain Theme, escaping, product-type, and rollback checks become your job
Broad inventory suite Adds messages, rules, badges, alerts, or workflows A larger settings and compatibility surface for one number

The pain appears in real support threads

One merchant reported that an existing tool did not show an out-of-stock label in the shop loop and had to use custom PHP.

Another needed stock information on a product archive because the available shortcode did not work there.

A third said the promised stock quantity was not showing after relying on an existing plugin.

These are individual support cases. They show a concrete problem, but they do not prove broad demand, paid conversion, or StoreFixKit sales.

Understand the stock value first

WooCommerce separates stock management from stock display. Its product editor documentation explains the inventory fields available to store owners. The product object then exposes those saved values through its current product API.

A display helper should treat these cases differently:

  • A simple product with Manage stock enabled and quantity 7 can safely show 7.
  • A simple product without managed stock has no quantity to print.
  • A variable product can have stock at the parent, variation, or mixed level.
  • Backorders can change what "available" means.
  • A malformed or nonnumeric value should not be repaired in the storefront.

The safe result for uncertain cases is native output with no added quantity.

Set it up safely

  1. Confirm WooCommerce is active.
  2. Edit a simple product.
  3. Enable Manage stock and save a nonnegative whole-number quantity.
  4. Install and activate Free 0.1.9.
  5. Open WooCommerce > Shop Stock Quantity.
  6. Enable Show quantity for simple products that manage stock.
  7. Save the setting.
  8. Open a native classic shop or category page.
  9. Confirm the quantity appears once on the intended card.
  10. Disable the setting and confirm the added text disappears.

The release UI fixture displayed Only 7 left on a real classic WooCommerce product card. That verifies the tested path, not every theme or builder.

Use the Pro controls without changing inventory

Pro can narrow the display without changing the quantity:

  • Show only at or below accepts 0 to 100. Zero means every valid quantity.
  • Short label accepts up to 80 plain-text characters.
  • {quantity} must appear exactly once in the label.
  • Product categories accepts up to 25 existing categories.
  • An empty category list applies to all supported products.

Free remains local and active if Pro, Stripe, the network, or the license service is unavailable.

Know the support boundary

This release supports native classic WooCommerce loops that run the standard product-card hooks. It does not claim support for Product Collection blocks, custom builder grids, headless storefronts, REST responses, or themes that replace those hooks.

It also does not:

  • aggregate variation quantities;
  • calculate availability;
  • reserve or reduce stock;
  • change stock status;
  • add stock alerts;
  • query extra products;
  • add storefront CSS.

Your theme owns typography and spacing.

Troubleshoot by symptom

Symptom Check first Safe expected result
No quantity appears Product type and Manage stock Unsupported or unmanaged products stay unchanged
Quantity is missing only in a builder Whether it uses native loop hooks Unknown builder output stays unchanged
Variable product has no total Variation and backorder structure The plugin does not aggregate
Pro threshold seems ignored Saved threshold and active license Free global behavior remains available
Label disappears after editing {quantity} count and 80-character limit Invalid text falls back safely

Clear page caches after changing settings. Test the public page, not only a builder preview.

Roll back without touching stock

  1. Deactivate Pro and confirm Free output remains.
  2. Turn off the Free switch.
  3. Reload the native shop page.
  4. Confirm the added quantity disappears.
  5. Confirm the saved quantity and stock status did not change.
  6. Deactivate Free if further isolation is needed.
  7. Install the previous deterministic ZIP only for a version rollback.

Default uninstall preserves settings for accidental recovery. Defining STOREFIXKIT_DELETE_DATA as true before deletion removes only this product's owned settings and license/update options.

Safety, privacy, and measured resource use

  • Setting writes require manage_woocommerce and a valid WordPress nonce.
  • Threshold, label, and category values are bounded and sanitized.
  • Frontend output is escaped plain text.
  • Product, variation, inventory, cart, order, and customer data are never written.
  • The product-card path makes no remote request.
  • There is no custom table, cron, queue, telemetry, frontend JavaScript, or stylesheet.

In one Batch 19 demo-server benchmark, 25 inactive and 25 active requests all returned HTTP 200. All six Batch 19 plugin trees together added zero database queries, zero database writes, and zero plugin HTTP calls. Median duration changed by +3.18ms and median peak memory by +2 MB. That is one measured environment, not a promise for every host.

Common mistakes

  1. Expecting a quantity when Manage stock is off.
  2. Treating parent and variation stock as one reliable number.
  3. Editing a theme template for a text-only hook change.
  4. Loading another product query inside every card.
  5. Assuming a Product Collection block uses classic loop hooks.
  6. Using stock wording that promises availability WooCommerce has not established.

Market evidence boundary

The captured WooCommerce Marketplace page listed Custom Stock Status for WooCommerce at $49 per year. That proves a paid stock-display category exists. It does not prove sales for this exact quantity feature.

The captured keyword response reported about 10 US searches per month for the exact stock-quantity shop-page phrases. That is a low-volume directional estimate, not a sales forecast.

The parent WooCommerce API snapshot reported 7,000,000 active installs. That describes the ecosystem, not buyers for this plugin.

This product remains a conditional launch hypothesis. It needs a verified payment and improving conversion evidence within 90 days. A $10,000 monthly revenue target is a selection goal, not a likely or guaranteed outcome.

Frequently asked questions

Does this reduce inventory?

No. It only reads the quantity WooCommerce already saved.

Can it total variation stock?

No. Variation and backorder meaning can differ, so the release does not guess.

Does it support Product Collection blocks?

Not in this release. It supports native classic WooCommerce loops.

Can I use HTML in the label?

No. The label is bounded plain text and must contain {quantity} exactly once.

What should I send support?

Use StoreFixKit Support and include the affected URL, product type, managed-stock state, saved quantity, theme or builder, plugin versions, and redacted screenshots. Never send passwords, API keys, customer data, order exports, or a full license key.

Focused plugin

Use the one-job implementation.

Show the saved managed-stock quantity for simple products in native classic WooCommerce shop and category cards without changing inventory or product data.