Discuss and resolve questions on Liquid, JavaScript, themes, sales channels, and site speed enhancements.
Hi there,
I'm trying to create a custom product badge, which pulls in a metafield value if a specific tag (for now just hijacking the "new" tag) is added to the product. The {{ product.metafields.custom.plastic_pieces }} works when I test it on a product page, (and have also tried prefixing with "products." like the other badges) so I'm guessing it's something else. Please help!
{% comment %}
@param itemType {Product}
Product to apply badge to.
{% endcomment %}
<div class="badges-wrapper">
{% if itemType.available %}
{% if itemType.compare_at_price_min > itemType.price_min %}
<span class="badge badge-sale">{{ 'products.product.on_sale' | t }}</span>
{% endif %}
{% capture new-tag %}{{ 'products.product.new' | t }}{% endcapture %}
{% if itemType.tags contains new-tag %}
<span class="badge badge-new">{{ product.metafields.custom.plastic_pieces }}</span>
{% endif %}
{% else %}
<span class="badge badge-soldout">{{ 'products.product.sold_out' | t }}</span>
{% endif %}
</div>
Solved! Go to the solution
This is an accepted solution.
After battling with this today, I figured it out! Adding here in case anyone else needs it in the future. It needed to be "itemType.metafields" instead of "product.metafields". Now it's like the below, it works!
{{ itemType.metafields.custom.plastic_pieces }}
This is an accepted solution.
After battling with this today, I figured it out! Adding here in case anyone else needs it in the future. It needed to be "itemType.metafields" instead of "product.metafields". Now it's like the below, it works!
{{ itemType.metafields.custom.plastic_pieces }}
2m ago Learn the essential skills to navigate the Shopify admin with confidence. T...
By Shopify Feb 12, 2025Learn how to expand your operations internationally with Shopify Academy’s learning path...
By Shopify Feb 4, 2025Hey Community, happy February! Looking back to January, we kicked off the year with 8....
By JasonH Feb 3, 2025