Hide price for products tagged “MAP” (Minimum Advertised Price) in Shopify’s Supply theme, showing “Add to cart for price” instead of the price on collection and product listings.
Implementation: Added a conditional in product-grid-item.liquid to replace the price with “Add to cart for price” when product.tags contains “MAP.” The grid initially broke, but moving the {% endif %} lower in the markup fixed formatting.
List view: Applied the same logic in product-list-item.liquid to hide price and show the message for MAP-tagged items.
Button text: The plan to change the product page “ADD TO CART” button to “SEE PRICE” was not pursued; the default button text remains.
Behavior: Prices are still set normally in variants; for MAP-tagged items, the price is hidden on listings and only visible once the item is in the cart (confirmed by the author).
Open items: The hover tip “Why don’t we show the price?” was requested but not implemented. Compatibility with the Venture theme is unknown (file names differ).
Status: Resolved for the Supply theme (grid and list views working); no general solution provided for other themes.
I’ve seen a few posts on this but they appear outdated or are not specific to the theme I am using.
Can anyone help me modify the code to hide the price for a product tagged with “MAP” on the collection and product page and replace the text “ADD TO CART” on the button with “SEE PRICE”. I would also like to include a line which says “Why don’t we show the price?” that when you hover over it shows an explanation.
{% if on_sale %}
{{ "products.general.sale_price" | t }}
{% else %}
{{ "products.general.regular_price" | t }}
{% endif %}
{% include 'price' with product.price %}
{% if on_sale and section.settings.product_show_compare_at_price %}
{{ "products.general.regular_price" | t }}
{% include 'price' with product.compare_at_price %}
{% endif %}
{% endif %}
Fixed the grid formatting. Moved the {%endif%} down and it fixed it.
{{ product.title }}
{% if product.tags contains "MAP" %}
Add to cart for price
{% else %}
{% if on_sale %}
{{ "products.general.sale_price" | t }}
{% else %}
{{ "products.general.regular_price" | t }}
{% endif %}
{% include 'price' with product.price %}
{% if on_sale and section.settings.product_show_compare_at_price %}
{{ "products.general.regular_price" | t }}
{% include 'price' with product.compare_at_price %}
--> was here. see below
{% endif %}
{%- if product.selected_or_first_available_variant.available and product.selected_or_first_available_variant.unit_price_measurement -%}
{% include 'product-unit-price', variant: product.selected_or_first_available_variant %}
{%- endif -%}
{% if on_sale and section.settings.product_show_saved_amount %}
So, do you set the price in your variant like you normally do, then this coding will take anything with the tag/collection of MAP and add a add to cart for price or something like that and the price won’t show until it’s inthe cart?