Customize price display
Use Settings → POM Tweaks → E-Commerce → Products to hide selected storefront price output, customize free-product text and add CSS classes. WooCommerce must be active. Select Enable, save to display the controls, make your changes and click Save again.
| Option | Result |
|---|---|
| Hide prices from guests | Replaces product price output for visitors who are not signed in. |
| Hide prices outside selling countries | Uses the customer's billing country, or local IP geolocation when no billing country is available, and compares it with WooCommerce selling countries. Unknown countries do not hide prices. |
| Text instead of hidden prices | Optional text or safe HTML used by either visibility rule. Leave it empty to show no replacement. |
| Text for zero prices | Replaces actual zero prices with text or safe HTML. Unpriced products keep their normal output. A variable range is replaced only when all its available prices are zero. |
| Additional price wrapper classes | Adds space-separated CSS class names to standard WooCommerce price wrappers. |
Visibility rules take precedence over the zero-price text and customer-role savings. Eligible signed-in customers retain normal prices unless their country is excluded. These controls do not alter stored prices, tax calculations or purchase permissions.
Hidden prices also suppress classic cart line prices/subtotals, supported POM Theme cart totals and standard product offer structured data. The WooCommerce Product Price block receives the same hidden-price replacement. Custom theme output and other blocks may render independently.
This is a display feature, not a price-data access policy. Numeric prices remain available to WooCommerce's APIs and calculations; checkout totals and third-party output may still show them. To prevent purchases, use Catalog mode or per-product restrictions.
Verify and troubleshoot
- Compare a guest and a signed-in customer on a priced product and a free product.
- Compare a variable product with mixed prices and one with only zero prices.
- If using country restrictions, check customers with an allowed country, an excluded country and no known country.
- Inspect the classic cart and any product blocks used by your theme.
The visibility options do not disable static page caching or send no-cache headers. POM Cache and WooCommerce remain responsible for excluding private requests such as Cart, Checkout, My account and order pages.
For regional prices on shared public pages, use Country pricing zones and universal price loading. The regional response refreshes supported product output after the shared page loads. Purge existing page caches after changing visibility settings, then compare an allowed and an excluded country. Other visitor-dependent output needs a compatible cache or dynamic-content strategy.
Clear an individual option or disable the tweak and save to restore standard price output. See also customer role prices, customer tax and purchase buttons.