In Shopify, how do I show a list of tags followed by the number of products with that tag?
Example: Black(12), Blue(10).
Currently the code looks like this, but it doesn’t work.
<ul> {% for tag in collection.all_tags %} <li> <a href="https://mystore.myshopify.com/collections/all/{{ tag }}"> {{ tag }} </a> ({{ tag.products_count }}) </li> {% endfor %} </ul>
Advertisement
Answer
products_count
is an attribute of collection
, not tag
.
I believe you would need to manually loop through the products and count the number with the specified tag.
For example:
{% assign collection = collections.all %} <ul> {% for tag in collection.all_tags %} {% assign products_count = 0 %} {% for product in collection.products %} {% if product.tags contains tag %} {% assign products_count = products_count | plus: 1 %} {% endif %} {% endfor %} <li> <a href="https://mystore.myshopify.com/collections/all/{{ tag }}"> {{ tag }} </a> ({{ products_count }}) </li> {% endfor %} </ul>
See these similar discussions on the Shopify forums: