Skip to content
Advertisement

Shopify Tags total items

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:

User contributions licensed under: CC BY-SA
4 People found this is helpful
Advertisement