To hide prices for products on a specific collection page using Liquid code in a Shopify theme, you can follow these steps:
- Open your Shopify theme editor.
- Locate the template file for the collection page you want to modify. Typically, this file is named
collection.liquid
. - Edit the
collection.liquid
template and find the section where product listings are displayed. - Within that section, you can use the following Liquid code to conditionally hide prices:
liquid Copy code
{% for product in collection.products %} <div class="product"> <h2>{{ product.title }}</h2> {% if collection.handle == 'your-specific-collection-handle' %} <!-- If it's the specific collection, don't show the price --> {% else %} <span class="price">{{ product.price | money }}</span> {% endif %} </div> {% endfor %}
Replace 'your-specific-collection-handle'
with the handle of the collection for which you want to hide prices.
- Save the changes to the
collection.liquid
file.
Remember that customizing themes involves some coding knowledge, and it’s important to back up your theme or use a development environment to test changes before applying them to your live store. If you’re not comfortable with coding, it’s a good idea to consult with a Shopify expert or developer for assistance.
Tutorial Full Code:
{% comment %} Renders a list of product's price (regular, sale) Accepts: - product: {Object} Product Liquid object (optional) - use_variant: {Boolean} Renders selected or first variant price instead of overall product pricing (optional) - show_badges: {Boolean} Renders 'Sale' and 'Sold Out' tags if the product matches the condition (optional) - price_class: {String} Adds a price class to the price element (optional) Usage: {% render 'price', product: product %} {% endcomment %} {%- liquid if use_variant assign target = product.selected_or_first_available_variant else assign target = product endif assign compare_at_price = target.compare_at_price assign price = target.price | default: 1999 assign available = target.available | default: false assign money_price = price | money if settings.currency_code_enabled assign money_price = price | money_with_currency endif if target == product and product.price_varies assign money_price = 'products.product.price.from_price_html' | t: price: money_price endif -%} {% if collection.handle == 'top-lipstick' %} <!-- If it's the specific collection, don't show the price --> {% else %} <div class=" price {%- if price_class %} {{ price_class }}{% endif -%} {%- if available == false %} price--sold-out {% endif -%} {%- if compare_at_price > price %} price--on-sale {% endif -%} {%- if product.price_varies == false and product.compare_at_price_varies %} price--no-compare{% endif -%} {%- if show_badges %} price--show-badge{% endif -%} " > <div class="price__container"> {%- comment -%} Explanation of description list: - div.price__regular: Displayed when there are no variants on sale - div.price__sale: Displayed when a variant is a sale {%- endcomment -%} <div class="price__regular"> <span class="visually-hidden visually-hidden--inline">{{ 'products.product.price.regular_price' | t }}</span> <span class="price-item price-item--regular"> {{ money_price }} </span> </div> <div class="price__sale"> {%- unless product.price_varies == false and product.compare_at_price_varies %} <span class="visually-hidden visually-hidden--inline">{{ 'products.product.price.regular_price' | t }}</span> <span> <s class="price-item price-item--regular"> {% if settings.currency_code_enabled %} {{ compare_at_price | money_with_currency }} {% else %} {{ compare_at_price | money }} {% endif %} </s> </span> {%- endunless -%} <span class="visually-hidden visually-hidden--inline">{{ 'products.product.price.sale_price' | t }}</span> <span class="price-item price-item--sale price-item--last"> {{ money_price }} </span> </div> <small class="unit-price caption{% if product.selected_or_first_available_variant.unit_price_measurement == nil %} hidden{% endif %}"> <span class="visually-hidden">{{ 'products.product.price.unit_price' | t }}</span> <span class="price-item price-item--last"> <span>{{- product.selected_or_first_available_variant.unit_price | money -}}</span> <span aria-hidden="true">/</span> <span class="visually-hidden"> {{ 'accessibility.unit_price_separator' | t }} </span> <span> {%- if product.selected_or_first_available_variant.unit_price_measurement.reference_value != 1 -%} {{- product.selected_or_first_available_variant.unit_price_measurement.reference_value -}} {%- endif -%} {{ product.selected_or_first_available_variant.unit_price_measurement.reference_unit }} </span> </span> </small> </div> {%- if show_badges -%} <span class="badge price__badge-sale color-{{ settings.sale_badge_color_scheme }}"> {{ 'products.product.on_sale' | t }} </span> <span class="badge price__badge-sold-out color-{{ settings.sold_out_badge_color_scheme }}"> {{ 'products.product.sold_out' | t }} </span> {%- endif -%} </div> {% endif %}