WordPress plugin by Sellscope

Catalog mode for WooCommerce, without the leaks.

Hide prices until customers log in, sell only to wholesale accounts, or show some categories as “price on request”. Shelfwright hides the price and the button and blocks the purchase on the server too. Coming from YITH Catalog Mode? Import your settings in one click.

Get it free on WordPress.org: coming soonSee Pro

Free on WordPress.org. Works with block and classic themes.

A WooCommerce product page seen by a guest: the price is replaced by “Log in to see prices” and Add to cart by a Log in button
Free plugin

Everything a catalog store needs, free.

Rules

Who and what

Apply catalog mode to everyone, to guests only or to selected user roles, for the whole store or only some categories. Order rules by priority and add exceptions.

Hide

Prices, buttons or both

On shop and product pages, related products and the WooCommerce blocks: Product Collection, Single Product, Add to Cart Form and Product Button.

Replace

Something useful instead

A text like “Log in to see prices” or “Call for price”, and a button to log in and come back, to My account, or to any page such as your contact form.

Secure

Blocked on the server

Hidden products can’t be bought through forms, ?add-to-cart= links, AJAX or the Store API. When the whole store is a catalog, the cart and checkout go too.

SEO

No hidden prices in schema

A hidden price is also removed from the Product structured data and the public Store API, so Google never sees a price your visitors can’t.

Migration

YITH and ELEX importer

A dry run shows the rule it will add, then one click imports it. The old plugin’s settings are never changed. No tracking, no external requests.

A WooCommerce shop page for a guest: most products show “Log in to see prices” and a Log in button, one made-to-order sofa shows a Request a quote button
Pro

Rules for real B2B and quote-only stores.

Targets

More ways to pick products

Specific products (include or exclude), product tags, product types, stock status and a price range, on top of categories.

Country

Rules by visitor country

Show or hide prices by country. Logged-in customers are matched by billing country, guests by WooCommerce geolocation when your store has it.

Schedule

Rules with dates

A rule is active only from or until a date in your site’s time zone, for a holiday closure or a pre-launch window.

Inquiries

Request-a-quote form

A button opens an accessible form with name, email, message and optional quantity; the product is attached for you. Entries land in an Inquiries inbox in wp-admin and in the store admin’s email. Spam checks and a consent note, no outside services.

Buttons

Button builder

Per rule: theme button, outline or text link, a mail or lock icon, open in a new tab. Override the text and button on any single product.

Members only

Login-only store

The shop, or the whole site, asks guests to log in and brings them back, with an allowlist of pages and optional approved roles. The Store API, product feeds and search close to guests too.

Free vs Pro

What you get in each.

FeatureFreePro
WhoEveryone, guests or user rolesAlso by visitor country
Which productsAll, or include / exclude categoriesAlso specific products, tags, product types, stock status, price range
Hide prices, disable purchasingYesYes
Purchases blocked on the serverForms, links, AJAX, Store APIYes
Text and button insteadText plus a Log in, My account or custom link buttonButton style, icon, new tab; per-product text and button
Hide cart and checkoutYesYes
Structured data without pricesYesYes
YITH and ELEX importerYesYes
Scheduled rulesNoFrom / until a date
Inquiry and quote formNoForm, admin inbox and email
Login-only storeNoPages, Store API and feeds

Pro is an add-on: it needs the free Shelfwright plugin and keeps everything the free plugin does.

WooCommerce → Catalog mode: a quote-only rule for one category and a wholesale exception rule for a user role
Pricing

One price a year. No per-rule or per-product limits.

Starter

$49 / year
  • 1 site
  • Every Pro feature
  • Updates and email support for a year
Buy Starter: coming soon

Business

$99 / year
  • Up to 5 sites
  • Every Pro feature
  • Updates and email support for a year
Buy Business: coming soon

Agency

$199 / year
  • Unlimited sites
  • Every Pro feature
  • Updates and email support for a year
Buy Agency: coming soon

Prices in USD; taxes are added at checkout where they apply. Payments are processed by Freemius, our merchant of record. 14-day money-back guarantee: see the refund policy.

Honest limits

What to know before you rely on it.

Page caches

A full-page cache can serve the same page to every visitor. Country and schedule rules need pages that aren’t cached for everyone, or a cache that varies by country. Clear the cache after you change rules.

Geolocation

Logged-in customers are matched by their billing country. Guests need WooCommerce’s geolocation: its MaxMind integration with a license key, or a CDN that sends a country header (like Cloudflare). No outside lookup services are called. Each rule decides whether visitors with an unknown country are matched.

Inquiry emails

Emails go out through your site’s own mail setup, so delivery depends on it. Every inquiry is saved in the Inquiries inbox anyway, so nothing is lost.

Login-only store

It protects store pages (or the whole site), the Store API and REST product endpoints, product feeds, search results and the WordPress sitemap. It doesn’t protect direct links to media files such as product images.

Page builders

A page-builder widget that prints the raw price by itself can bypass price hiding. Purchasing is still blocked on the server.

Translations

Replacement texts and button labels aren’t registered with WPML or Polylang string translation yet.

FAQ

Questions

Is the free version really free?

Yes. The free plugin on WordPress.org works without limits: rules for guests, user roles and categories, hidden prices, disabled purchasing, a replacement text and button, cart and checkout hiding, clean structured data and the YITH and ELEX importer. Pro is a separate plugin you add on top.

How do I move from YITH WooCommerce Catalog Mode?

Install Shelfwright, go to WooCommerce → Catalog mode → Import, read the dry run and click Import now. YITH’s settings are never changed, so you can compare before you deactivate it. The migration guide has the details.

Can a customer still buy a hidden product through a direct link?

No. Purchasing is blocked on the server, not just hidden: product forms, ?add-to-cart= links, AJAX and the Store API used by the cart and checkout blocks all reject products in catalog mode with a clear message.

Does it work with page caching?

Yes, with the usual care. Guest rules work with page caches, which skip logged-in users. Role rules need a cache that doesn’t serve cached pages to logged-in users, the default in most caching plugins. Pro’s country and schedule rules need pages that aren’t cached for everyone, or a cache that varies by country.

Does it work with my theme?

Shelfwright filters WooCommerce’s own price and Add to cart output, so it works with block themes like Twenty Twenty-Five and classic themes like Storefront, including the Product Collection and Add to Cart blocks. It needs WordPress 6.5+, WooCommerce 8.0+ and PHP 7.4+.

Where do inquiries from the Pro form go?

Into an Inquiries inbox in your WordPress admin, and by email to the store admin through your site’s normal mail setup. They are stored in your own database; no outside service is involved and Sellscope never sees them.

How is Pro licensed?

Pro is a yearly license for 1, 5 or unlimited sites, with updates and support for the year. It renews automatically; you can cancel anytime and keep using the version you have.

Can I get a refund?

Yes. Ask within 14 days of buying Pro for a full refund. See the refund policy.

Does Shelfwright collect data?

The free plugin makes no external requests and collects nothing. Pro checks its license with Freemius, our merchant of record, which sees your site address and license key.

Step-by-step: moving from YITH WooCommerce Catalog Mode →