Supply Theme Add To Cart to see Price MAP

Topic summary

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.

Summarized with AI on January 30. AI used: gpt-5.

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.

I appreciate any help. Thanks!

@Jason just flagging this to your attention as I think you have knowledge on this. Reply at your convenience. I appreciate your thoughts.

I followed the instructions found here: https://community.shopify.com/c/Shopify-Design/How-to-show-Add-to-cart-to-see-price/m-p/277124 by adding the following (in red) in the product-grid-item.liquid:

{{ 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 %} {% endif %} {% endif %}

It worked but it messed up my grid. See: https://ssebarcodestore.com/collections/barcode-scanners?view=grid

Does anyone have any thoughts on how to correct the grid formatting?

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 %}
{% assign compare_price = product.compare_at_price %} {% assign product_price = product.price %} {% include 'price-sale' %}
{% endif %} {% endif %}

Now I need to figure out how to do this with the list view. Any thoughts?

I figured out how to do it for the list view. Changes to product-list-item.liquid in red:

{% unless image_size %}
{%- assign image_size = ‘600x600’ -%}
{% endunless %}

{% unless current_collection %}
{% assign current_collection = collection %}
{% endunless %}

{% assign on_sale = false %}
{% if product.compare_at_price > product.price %}
{% assign on_sale = true %}
{% endif %}

{% assign sold_out = true %}
{% if product.available %}
{% assign sold_out = false %}
{% endif %}

{% if sold_out %}
{{ 'products.product.sold_out' | t }}
{% endif %} {% if product.featured_image %} {%- assign img_url = product.featured_image | img_url: '1x1' | replace: '_1x1.', '_{width}x.' -%}
{{ product.featured_image.alt | escape }}
{{ product.featured_image.alt }} {% else %} {% capture current %}{% cycle 1, 2, 3, 4 %}{% endcapture %} {{ 'product-' | append: current | placeholder_svg_tag: 'placeholder-svg' }} {% endif %}

{{ product.title }}

{{ product.content | strip_html | truncatewords: 30 }}

{% 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 %} {% endif %} {% 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 %}
{% assign compare_price = product.compare_at_price %} {% assign product_price = product.price %} {% include 'price-sale' %}
{% endif %} {% if section.settings.product_reviews_enable %} {% endif %}

Now I have to figure out how to replace the “ADD TO CART” button on the product page to “SEE PRICE” for products tagged with “MAP”

Any thoughts?

1 Like

Did you ever get this to work?

Yes I did. The above solution works. I didn’t bother changing the “ADD TO CART” button and left it as is.

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?

Exactly

I don’t see product-grid-item.liquid in my code list - I have the Venture theme.

Not sure about that. I was only looking for a solution for the Supply theme.