Some shop owners would like to hide the prices in their shop from guests users to make it exclusive for logged-in customers only, such as your wholesalers.
You can enable this feature by going to Wholesale > Settings > Wholesale Prices > Price > then enabling the “Hide Price and Add to Cart button” option. When enabled, it’ll hide the price and add to cart button for visitors.


By default, it’ll display the text: Login to see prices. If you like, you can change this to suit your preferences in the Price and Add to Cart Replacement Message option. For example:


Frequently Asked Questions
How do I hide prices from guest visitors on my wholesale store?
To do this, go to Wholesale > Settings > Wholesale Prices > Price in your WordPress dashboard and enable the “Hide Price and Add to Cart button” option. Once switched on, pricing and purchase buttons disappear from both the shop listing and individual product detail pages for anyone who is not signed in. No extra code or custom styling is required.
Does hiding prices for guests work on both the shop page and single product pages?
Yes. With standard WooCommerce themes the setting applies across both views at once, so visitors browsing your catalogue and those landing directly on a product detail page will see neither the price nor the Add to Cart button. This keeps the experience consistent regardless of how a guest arrives at a product. If your theme or page builder renders the price with a custom element, see the last question below.
Can I replace the hidden price with a custom message instead of leaving a blank space?
Yes. The Price and Add to Cart Replacement Message field lets you substitute the hidden area with any text you choose. The default wording is “Login to see prices,” but you can tailor this to match your brand’s tone or direct visitors toward a registration form. Simply type your preferred message into that field and save.
Can I hide prices from guests for only some products?
The Hide Price and Add to Cart button setting is store-wide. It applies to every product for anyone who is not logged in, so there is no built-in way to hide prices on some products while showing them on others for guests. If you need that level of control, a developer can use the wwp_hide_price_and_add_to_cart_button filter to change the behaviour. The filter passes a single true or false value with no product information, so any per-product logic has to be added in the filter callback using the current product in context.
Does this feature also hide prices from logged-in retail customers, or only guests?
Generally, the setting targets unauthenticated visitors specifically. Logged-in customers retain standard WooCommerce price visibility based on their assigned role. If you want to restrict pricing further for certain authenticated groups, you would need to combine this with wholesale role-based price controls rather than relying on this guest-only toggle alone.
Why are prices still visible to some visitors after enabling the hide setting?
If pricing continues to appear after you save the option, first confirm the setting is saved correctly by revisiting Wholesale > Settings > Wholesale Prices > Price and checking the toggle is still active. A caching plugin may also be serving an older version of your pages to visitors, so clear both your site cache and any CDN cache after making the change. If the issue persists with caching ruled out, check whether another plugin or theme is outputting price data independently of WooCommerce’s standard hooks.
The price still shows to guests on a single product page. Why?
If prices are hidden on your shop and category pages but a price still appears on a single product page, your theme or page builder is most likely displaying the price with its own element that calls WooCommerce’s wc_price() function directly, rather than the standard WooCommerce product price. The Hide Price setting works by controlling WooCommerce’s standard price output, so a custom element that renders the price a different way is not covered by it. To resolve this, set the theme or page builder to show the price using the standard WooCommerce product price output (get_price_html()), or add a small snippet that hides the custom price element for logged-out visitors. If you are not sure how, your theme developer can point the price element at WooCommerce’s standard price output.
Need Help?
If you have a question or run into any issues, we’re here to help.
- Premium users: Open a support ticket
- Free users: Visit our community forum
