Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Operators

Liquid uses a combination of tags, objects, and filters to load dynamic content. They are used inside template files, which are a group of files that make up a theme.


In this article


Logical and comparison operators

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


Basic operators

OperatorFunction
==equals
!=does not equal
>greater than
<  less than
>= greater than or equal to
<=less than or equal to
 or  condition A or condition B
andcondition A and condition B

Examples

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

You can do multiple comparisons in a tag using the and and or operators:

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

contains

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

{% if customer.email contains "easycode-it.com" %}
  Hey there, EasyCode employee!
{% endif %}

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

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


Order of operations

In tags with more than one and or or operator, all and operators are evaluated first, and then or operators are evaluated. You cannot change the order of operations using parentheses ‘(’ and ‘)’. Parentheses are invalid characters in Liquid tags and will prevent your tags from working.