Need help in changing 0.00 price into a button

Topic summary

A developer working with the Tradmart Shopify theme needs to replace products displaying “$0.00 USD” with a WhatsApp contact button on the frontend.

Current Situation:

  • They’ve modified the price.liquid file to conditionally show a WhatsApp button when product.price == 0
  • The implementation isn’t working as expected
  • The code snippet shows Liquid template logic attempting to check if price equals zero and render a WhatsApp link instead of the price display

Technical Details:

  • The code includes reversed/garbled text in some sections (possibly a copy-paste error)
  • Uses Liquid templating with conditional logic: {% if product.price == 0 %}
  • Intended WhatsApp button links to a pre-filled message asking about the product’s pricing
  • Falls back to regular price display for non-zero prices

Status: The question remains unanswered with no solutions or debugging suggestions provided yet. The developer is seeking help identifying why their conditional rendering logic fails to trigger the button display.

Summarized with AI on November 3. AI used: claude-sonnet-4-5-20250929.

Hi,

So i am using a theme (tradmart) and i want to change something on the code level.

Currently on front end, the products with pricing $0.00 USD ( ${{amount}} USD ) should be converted into a button.

This is the code i have below from price.liquid but it isnt working. Pls help.

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

<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">
<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>
{%- 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 product.price == 0 %}
<!-- If the price is 0, show the WhatsApp button -->
<a href="https://wa--me/Hi, I am looking for the pricing of {{ product.title }}, can you help me out? Link: {{ shop.url }}{{ product.url }}" class="whatsapp-button" target="_blank">WhatsApp Us</a>
{% else %}
<!-- Otherwise, show the price -->
{{ product.price | money_with_currency }}
{% endif %}
{% if settings.currency_code_enabled %}
{{ compare_at_price | money_with_currency }}
{% else %}
{{ compare_at_price | money }}
{% endif %}
</s>
</span>
{%- endunless -%}
</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 class="cardunitp">{{- 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 class="cardunitv">
{%- 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>
<div class="wbvariantbadges">
{%- 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>
{%- else -%}
{%- if product.available == false -%}
<span class="badge badge--bottom-left color-{{ settings.sold_out_badge_color_scheme }}">{{ 'products.product.sold_out' | t }}</span>
{%- elsif product.compare_at_price > product.price and product.available -%}
<span class="badge badge--bottom-left color-{{ settings.sale_badge_color_scheme }}">{{ 'products.product.on_sale' | t }}</span>
{%- endif -%}
{%- endif -%}
</div>

</div>