Merino Pine Hoodie Cotton Hoodie Merino Cotton Merino Pine qaFwHH

Liquid has access to many logical and comparison operators. You can use operators to create logic with control flow tags.

Basic operators

Operator Function
== equals
!= does not equal
> Cotton Pine Cotton Merino Hoodie Hoodie Merino Merino Pine greater than
< less than
>= greater than or equal to
<= Pine Hoodie Pine Hoodie Merino Cotton Cotton Merino Merino less than or equal to
Merino Hoodie Hoodie Cotton Pine Merino Pine Merino Cotton or condition A or condition B
and condition A and condition B

For example:

{% if customer.has_account ==Cotton Hoodie Merino Hoodie Pine Pine Merino Cotton Merino true %}
  Welcome back to our store!
{% endif %}

You can do multiple comparisons in a tag using the andCrew J Store Pants Boutique Factory Dress qF5nggB and or operators:

{% if product.type == "Shirt" or product.type == "Shoes" %}
  This is a shirt or a shoe.
{% endif %}


contains checks for the presence of a substring in a string.

Merino Hoodie Cotton Merino Merino Hoodie Pine Cotton Pine {% if contains "" %}
  Hey there, Shopify employee!
{% endif %}

contains can also check for the presence of a string in an array of strings.

Pine Merino Hoodie Cotton Merino Cotton Pine Hoodie Merino {% if product.tags contains "outdoor" %}
  This product is great for using outdoors!
{% endif %}

contains can only search strings. You cannot use it to check for an object in an array of objects.

Merino Pine Hoodie Merino Cotton Merino Cotton Pine Hoodie Order of operations

In tags with more than one and or or operator, operators are checked in order from right to left. You cannot change the order of operations using parentheses — parentheses are invalid characters in Liquid and will prevent your tags from working.

{% if true or false Cotton Hoodie Merino Cotton Merino Merino Pine Pine Hoodie and false %}
  This evaluates to true, since the 'and' condition is checked first.
{% endif %}
{% if true andCotton Cotton Pine Pine Hoodie Hoodie Merino Merino Merino false and false or true %}
  This evaluates to false, since the tags are checked like this:

  true and (false and (false or true))
  true and (false and true)
  true and false
{% endif %}

Ready to start selling with Shopify?

Try it free