Title: PriceVeil – Hide Prices &amp; Request a Quote for WooCommerce
Author: erenlabs
Published: <strong>August 24, 2026</strong>
Last modified: August 24, 2026

---

Search plugins

![](https://ps.w.org/priceveil-for-woocommerce/assets/banner-772x250.png?rev=3663001)

![](https://ps.w.org/priceveil-for-woocommerce/assets/icon-256x256.png?rev=3663001)

# PriceVeil – Hide Prices & Request a Quote for WooCommerce

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

[Download](https://downloads.wordpress.org/plugin/priceveil-for-woocommerce.1.0.2.zip)

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

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

## Description

Turn your WooCommerce store into a price-free catalogue: hide every price, replace**
Add to cart** with a **Request a quote** button, and answer each enquiry yourself.
Built for B2B, wholesale, made-to-order and dealer stores that publish a catalogue
but price every customer individually.

PriceVeil hides WooCommerce prices at every surface a price can leak — not only 
the visible label, but the numeric fields in the Store API JSON that block themes
ship to every visitor, in SEO schema, in feeds and in GraphQL.

The approach: **find every surface that leaks a price, close it, and prove it stays
closed.**

#### What it covers

 * **Storefront**: single product, shop loop, related products, grouped products,
   variable price ranges and the inline variation JSON — numeric fields included,
   not just the label.
 * **Store API (block themes)**: product prices, `price_html`, the collection price-
   range aggregation and cart totals are blanked server-side, so client-rendered
   themes have nothing to show.
 * **Structured data**: WooCommerce core JSON-LD offers, plus Rank Math, Yoast SEO,
   All in One SEO and Schema & Structured Data for WP product schema.
 * **WooCommerce REST API** (`wc/v3`, `wc/v2`): product and variation price fields,
   so a read-scoped API key handed to a third-party service reveals nothing.
 * **GraphQL** (WPGraphQL / WooGraphQL): product price fields blanked at field resolution.
 * **Cart, mini-cart, checkout, emails**: classic PHP-rendered price output and 
   quote-order customer emails.
 * **Catalog mode**: add-to-cart disappears from classic _and_ block templates, 
   and the Store API rejects cart writes — the API cannot be used as a side door
   around the missing button.

#### Request a quote

A configurable button and form replace the price on product pages (also available
as the `[priceveil_form]` shortcode). Requests arrive as **Quote Request orders**
in your normal WooCommerce orders screen — HPOS-compatible, never counted as revenue,
never in reports — and you get an email with one-click reply to the customer.

The public form is protected by a nonce, a honeypot and a per-IP rate limit.

#### Speaks your customers’ language

PriceVeil ships in **8 languages** — English, Turkish, Spanish, German, French, 
Italian, Brazilian Portuguese and Arabic (with right-to-left layout). It follows
the site language automatically and falls back to English for anything else, and
admins can switch the plugin’s own language from a control in the header without
changing the rest of wp-admin. (In PriceVeil Pro, the customer’s quote page also
detects each visitor’s own language and offers a switcher on the quote itself.)

#### Honest coverage reporting

The settings screen shows exactly which surfaces are protected automatically and
which you should check once yourself (product feed plugins, custom themes calling`
get_price()` directly, edge caches). With WP-CLI you can run `wp priceveil selftest`
after every WooCommerce update — it re-verifies every server-reachable surface and
fails loudly on any leak.

#### Choose your audience

Hide prices for everyone, or for guests only so logged-in customers can see prices
and buy normally.

## Screenshots

[⌊Prices are gone from the product page: "Price on request" and a Request a quote
button take their place, and Add to cart is removed.⌉⌊Prices are gone from the product
page: "Price on request" and a Request a quote button take their place, and Add 
to cart is removed.⌉[

Prices are gone from the product page: “Price on request” and a Request a quote 
button take their place, and Add to cart is removed.

[⌊The quote request form opens in a modal — name, e-mail, quantity, message and 
any custom fields you add.⌉⌊The quote request form opens in a modal — name, e-mail,
quantity, message and any custom fields you add.⌉[

The quote request form opens in a modal — name, e-mail, quantity, message and any
custom fields you add.

[⌊Requests land as Quote Request orders in the normal WooCommerce orders screen:
HPOS-compatible and excluded from revenue and reports.⌉⌊Requests land as Quote Request
orders in the normal WooCommerce orders screen: HPOS-compatible and excluded from
revenue and reports.⌉[

Requests land as Quote Request orders in the normal WooCommerce orders screen: HPOS-
compatible and excluded from revenue and reports.

[⌊Settings: hide prices for everyone or for guests only, switch catalog mode on,
and choose the button label and form fields.⌉⌊Settings: hide prices for everyone
or for guests only, switch catalog mode on, and choose the button label and form
fields.⌉[

Settings: hide prices for everyone or for guests only, switch catalog mode on, and
choose the button label and form fields.

[⌊Honest coverage reporting — every surface the plugin protects automatically, and
the few you should check yourself.⌉⌊Honest coverage reporting — every surface the
plugin protects automatically, and the few you should check yourself.⌉[

Honest coverage reporting — every surface the plugin protects automatically, and
the few you should check yourself.

## Blocks

This plugin provides 1 block.

 *   PriceVeil Quote Form

## Installation

 1. Upload the `priceveil-for-woocommerce` folder to `/wp-content/plugins/`, or install
    it through the WordPress Plugins screen.
 2. Activate the plugin. WooCommerce must be installed and active.
 3. Prices are hidden immediately. Fine-tune everything under **WooCommerce  PriceVeil**.

## FAQ

### Are the actual numbers removed, or just hidden with CSS?

Removed server-side. The price fields are blanked before the HTML or JSON leaves
your server, so cached pages, API responses and view-source contain no price at 
all.

### Does it work with block themes?

Yes. Block themes render prices from the Store API JSON, and PriceVeil blanks the
numeric fields in those responses server-side.

### Can logged-in customers still see prices?

Yes — set “Hide prices for” to _Guests only_ and logged-in users get the normal 
store, including purchasing.

### Where do quote requests go?

They are created as native WooCommerce orders with a special “Quote Request” status:
visible in your orders list, excluded from revenue and reports, and announced by
email. No extra tables, HPOS-compatible.

### Do quote orders affect my revenue reports?

No. The Quote Request status is excluded from paid statuses and from WooCommerce
reports.

### What is NOT covered automatically?

Product feed plugins (they export prices on purpose), custom theme code that calls`
$product->get_price()` directly, and edge caches primed before activation. The settings
screen lists these, and `wp priceveil selftest` verifies everything that is reachable
server-side.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“PriceVeil – Hide Prices & Request a Quote for WooCommerce” is open source software.
The following people have contributed to this plugin.

Contributors

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

[Translate “PriceVeil – Hide Prices & Request a Quote for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/priceveil-for-woocommerce)

### Interested in development?

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

## Changelog

#### 1.0.2

 * Tested with WooCommerce 11.
 * Pro: updated the bundled licensing framework to its latest release.

#### 1.0.1

 * The plugin is now called PriceVeil. The text domain, language files and internal
   identifiers were renamed to match; behaviour and settings are unchanged.

#### 1.0.0

 * First public release: leak-tested price hiding across the storefront, Store API,
   structured data, the WooCommerce REST API and GraphQL; catalog mode; and a request-
   a-quote flow (nonce, honeypot and per-IP rate limit) that lands as native Quote
   Request orders excluded from revenue and reports.
 * Available in 8 languages — English, Turkish, Spanish, German, French, Italian,
   Brazilian Portuguese and Arabic (right-to-left) — chosen automatically from the
   site/visitor language, with a per-user language switcher in the admin header 
   and a language switcher on the customer quote page.

#### 0.10.2

 * Pro: the Requests console now spells out that sending a quote e-mails the customer—
   a note under the Send button shows the exact address the quote goes to, and the
   confirmation after sending states that it was e-mailed (with the accept/decline
   link) to that address.

#### 0.10.1

 * Pro: preparing a quote in the Requests console no longer reloads the page each
   time you add or remove a product — lines are added and removed in place and the
   live customer preview updates instantly.
 * Pro: a product you add to a quote now defaults to an “Optional” add-on (the customer
   can choose to add it); switch it to Required or Alternative from the Type column
   if you prefer.

#### 0.10.0

 * Pro: the multi-product quote list is now a polished slide-in “quote drawer”. 
   Adding a product slides it in from the side with the collected items — each with
   its thumbnail, a quantity stepper and a remove control — a live count, an empty
   state, and one clear “Request a quote for these items” action. A floating launcher
   reopens it anytime. It is a progressive enhancement of an in-flow list (usable
   without JavaScript), is keyboard-accessible (focus trap, Esc, scroll lock) and
   supports light and dark. Prices stay hidden throughout.

#### 0.9.9

 * Fixed: submitting the “Request a quote” form from the product-page modal failed
   with a generic “Error”. The form’s request was being sent to the wrong URL (a
   hidden field named “action” was shadowing the form’s action property in the browser),
   so no quote was created. Quote requests now submit correctly.

#### 0.9.8

 * Fixed: on variable products in catalog (quote) mode the “Add to cart” button 
   could still appear alongside the variations form — it is now fully removed, matching
   simple products, so only the quote flow remains.
 * Pro: the multi-product quote list is now a live mini-cart. Adding or removing
   a product updates the list and its counter instantly without reloading the page,
   and the “Add to quote list” button shows a running count and a brief confirmation.

For older releases, see changelog.txt.

## Meta

 *  Version **1.0.2**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.4 or higher **
 *  Tested up to **7.0.4**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [b2b](https://wordpress.org/plugins/tags/b2b/)[catalog mode](https://wordpress.org/plugins/tags/catalog-mode/)
   [hide price](https://wordpress.org/plugins/tags/hide-price/)[request a quote](https://wordpress.org/plugins/tags/request-a-quote/)
   [wholesale](https://wordpress.org/plugins/tags/wholesale/)
 *  [Advanced View](https://wordpress.org/plugins/priceveil-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

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

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

## Contributors

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

## Support

Got something to say? Need help?

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