Customize purchase button labels and visibility

These two independent controls change WooCommerce's storefront purchase buttons. Use them with WooCommerce on the site where the products are sold.

Set button labels

  1. Open Settings → POM Tweaks → E-Commerce → Products.
  2. Enable Purchase button labels and save to initialize the fields.
  3. Set any of the six labels below, then save again. Empty fields preserve the existing text.
Field Applies to
Variable products: product lists Variable-product buttons in shop, category, related-product, and other product lists.
Variable products: purchase form The main variable-product purchase button.
Simple products: product lists Purchasable, in-stock simple products in product lists.
Simple products: purchase form The main simple-product purchase button.
Bookings: check availability The availability button provided by WooCommerce Bookings.
Bookings: product lists Purchasable, in-stock booking products in product lists.

List and purchase-form labels are selected by the WooCommerce button context, including related products on a single-product page. Product lists retain existing availability wording for out-of-stock or non-purchasable products. External and grouped products keep their own text. Standard blocks that use WooCommerce's product label methods receive the same labels; custom blocks or extensions that hardcode text need their own integration.

Labels are plain text and support the framework's Polylang string translations when Polylang is available. Booking labels require WooCommerce Bookings.

Set button visibility

  1. On Purchase buttons, enable Purchase button visibility and save.
  2. Choose Hide purchase buttons for visitors who are not logged in, Hide purchase buttons outside selling countries, or both.
  3. Save and check both a signed-in customer and a logged-out visitor.

The country rule uses the WooCommerce customer's billing country. If unavailable, it attempts local IP geolocation without an external lookup or a fallback to the shop's country. An unavailable or unrecognized country keeps buttons visible. Configure the permitted countries in WooCommerce → Settings → General → Selling location(s). When both controls are selected, either condition can hide the buttons.

The control covers standard product-list buttons, the classic single-product purchase form, and WooCommerce's Product Button, Add to Cart Form, and Add to Cart with Options blocks. Custom theme buttons must use WooCommerce's standard hooks to participate.

Hiding buttons is not a server-side purchase prohibition. Existing carts, direct add-to-cart requests, and the Store API retain WooCommerce's own permissions. Use WooCommerce's selling and shipping rules or a dedicated access policy when purchases must be prohibited.

Visibility depends on the visitor, but these rules 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 country-specific product buttons on shared public pages, use Country pricing zones and universal price loading. Its regional response refreshes supported product actions after the shared page loads. Purge existing page caches after changing the rule, then compare an allowed and an excluded country. Other visitor-dependent output needs a compatible cache or dynamic-content strategy.

Check the result

  • Compare a simple and variable product's purchase form with the buttons in related-product lists.
  • Confirm out-of-stock products retain their original availability text.
  • For visibility, compare logged-in/logged-out visits and billing countries inside/outside your selling list.
  • Reopen the settings after saving. Turning off the module restores the normal buttons; switching off both visibility options also leaves buttons visible.

Related: Configure billing identifiers and order confirmations.