How to hide prices until login in WooCommerce
By Raz Technologies · published · data updated
How do I hide prices until customers log in on WooCommerce?
Use a catalog-mode plugin that hides prices and the Add to cart button for logged-out visitors, or add two WooCommerce filters (below) if you are comfortable with code. As of 2 November 2026, the top-ranked plugin in our catalog mode ranking is Art WooCommerce Order One Click (77.1/100). See our catalog mode plugin ranking for the full comparison.
The problem
B2B and wholesale stores often don't want the public to see prices — they negotiate per account, or show trade prices only to approved customers. WooCommerce shows prices to everyone by default.
Option 1: a plugin (no code)
These are the highest-ranked catalog-mode plugins we track. All of them can hide prices for guests; check each profile for the exact rules (per role, per category) and compatibility.
| Plugin | Rank | Checkout Blocks | Installs |
|---|---|---|---|
| Art WooCommerce Order One Click | #1 | Not declared | 4,000+ |
| ELEX WooCommerce Catalog Mode | #2 | Not declared | 10,000+ |
| Product Enquiry | #3 | Not declared | 10,000+ |
| WooCommerce B2B | #4 | Not declared | No data |
| Hide Price and Add to Cart | #5 | Yes | 800+ |
| WooCommerce Product Catalog Mode & Enquiry Form | #6 | Not declared | No data |
Option 2: two filters (for developers)
Add this to a small custom plugin or your child theme's functions.php. The first filter replaces the price with a login link; the second stops guests from adding products to the cart.
add_filter( 'woocommerce_get_price_html', function ( $price, $product ) {
if ( is_user_logged_in() ) {
return $price;
}
$url = wc_get_page_permalink( 'myaccount' );
return '<a href="' . esc_url( $url ) . '">' . esc_html__( 'Log in to see prices', 'my-store' ) . '</a>';
}, 10, 2 );
add_filter( 'woocommerce_is_purchasable', function ( $purchasable ) {
return is_user_logged_in() ? $purchasable : false;
} );After adding it, check a product page, the shop page and the block cart while logged out, then logged in.
Other plugins people ask about
- YITH WooCommerce Catalog Mode ranks #8 of 35 in our catalog mode ranking as of 2 November 2026 (score 70.4/100). Its strongest scores are adoption (active installs) and security (vulnerability history); its weakest are performance (our lab) and satisfaction (ratings).
- ELEX WooCommerce Catalog Mode ranks #2 of 35 in our catalog mode ranking as of 2 November 2026 (score 76.4/100). Its strongest scores are security (vulnerability history) and momentum (download growth); its weakest are performance (our lab) and maintenance (updates, compatibility, support).
- Price & Cart Hider ranks #21 of 35 in our catalog mode ranking as of 2 November 2026 (score 63.9/100). Its strongest scores are security (vulnerability history) and performance (our lab); its weakest are adoption (active installs) and maintenance (updates, compatibility, support).
FAQ
Does hiding the price also stop guests from buying?
Not by itself. Hiding the price HTML only changes what is shown; to stop purchases you also need to make products non-purchasable for guests (the woocommerce_is_purchasable filter, or a plugin option that hides Add to cart).
Will this work with the block-based cart and checkout?
Test it. Of the 37 catalog-mode plugins we track, 4 declare Cart & Checkout Blocks compatibility (as of 8 November 2026).
Can I show prices only to wholesale customers?
Yes — role-based rules do that. Look for plugins that restrict prices by user role, or combine a wholesale pricing plugin with a hide-price rule for guests.
