Themes / Liquid · developer preview

{% block %} and {% partial %} come to Liquid
Build a page from a single template

The Liquid July '26 developer preview adds two tags. You can now write page structure directly inside a Liquid template, so both developers and coding agents can read and fix everything in one place. Existing sections, theme settings, and JSON templates keep working as-is.

On this page
  1. The 30-second version: what was added
  2. {% block %}: render theme blocks straight from a template
  3. {% partial %}: a region you can update with JS
  4. Diagram: how a page comes together Liquid-first
  5. How it relates to existing themes (nothing breaks)
  6. New Theme Check rules
  7. How to try it (3 steps)
  8. 5 points developers should know
  9. 3 use cases you can put to work
  10. A one-line summary for your pitch

1The 30-second version: what was added

The Liquid July '26 developer preview introduces a simpler way to build theme pages.
put page structure directly inside a Liquid template, so developers and coding agents alike can read and edit everything in one place. The number of tags being added is just two.

{% block %}

Renders a reusable theme block directly from a template. You name the block, pass it inputs, and give it body content. Writing it feels almost the same as {% render %} .

{% partial %}

Defines a named region of server-rendered HTML. From JavaScript, you canupdate just that region without reloading the whole page.

Combine the two and you cancompose the page in Liquid while still adding dynamic storefront experiences. The claim here is that you don't have to move rendering over to a client-side framework.

2{% block %}: render theme blocks straight from a template

Template (Liquid) {% block "card" %} Pass inputs (arguments) Pass body content {% endblock %} Resolved by name Reusable theme block Already defined in the theme Rendered HTML
1

Specify a name

Specify by name the theme block you want to call.

2

Pass inputs

Pass the input values that block receives.

3

Pass body content

You can also give it inner content.{% render %} It feels very much like writing

The original post does not include concrete syntax samples (argument format, whether a closing tag is required, etc.).{% block %} referencefor details.

3{% partial %} : a region that JS can update on its own

Before : full page reload Rebuilds everything Improved partial : swaps only the named region partial (update target) Gray areas stay as they are JavaScript Server-rendered HTML is re-fetched by name and swapped in No full reload needed
The key point is that "HTML is still rendered on the server (Liquid)". You don't have to move rendering to a client-side framework just to get dynamic updates — that's what this tag is for.
The original post does not cover how updates are triggered or the details of the JS API.{% partial %} referencefor details.

4Diagram : how a page comes together, Liquid-first

Liquid template Page structure written directly here Self-contained in one file {% block %} Renders theme blocks {% partial %} Named HTML region Server rendering Assembles the HTML Shopify side JS updates only the partial

5How it relates to existing themes (nothing breaks)

AspectTheme architecture so farThis developer preview
Sections Work as-is Keep working
Theme settings Work as-is Keep working
JSON templates Work as-is Keep working
Where page composition lives Spread across JSON templates, sections, and so on Newly added: can be placed directly in Liquid templates
Positioning A Liquid-first composition model thatcoexistswith the existing architecture
Not a replacement (migration) but an addition (alongside). Since you don't have to touch existing themes, partial adoption — like building only new pages Liquid-first — is easy.

6New Theme Check rules

The preview also adds Theme Check rules for Liquid-first themes. Five checks are explicitly called out.

Syntax errors

Detects Liquid syntax errors.

Excessive complexity

Warns about templates that have grown too complex.

Oversized files

Detects files that are too large.

{ }

Invalid schema structure

Detects cases where the schema structure isn't valid.

Mismatch between block arguments, schema, and {% doc %}

Detects when the arguments passed to a block, the schema definition, and the{% doc %} declaration disagree.Documentation drifting from implementation now fails lint— that's the crux of this rule.

The complete list of rules is documented in the Theme Check 3.28.0 release notes(the original post points readers there).

7How to try it (3 steps)

1

Create a development store

Create a development store with the Liquid July '26 developer preview enabled.

2

Start from the skeleton theme

Use the release candidate of the skeleton theme as your starting point.

3
tag

Or add it to your own theme

You can also try the new tags by adding them to an existing theme of your own.

This is developer preview. The original post says nothing about the general availability date, whether it can be used on production stores, or backward-compatibility guarantees. It only notes that feedback is being collected in the Shopify developer community.

85 points developers should know

1. The goal is "one place to read"

Because page structure can live inside the Liquid template, both developers andcoding agents can read and edit it in one place, the post states explicitly. The design assumes AI will be working on the code.

2. No SPA needed for dynamic updates

{% partial %} lets you add dynamic storefront experiences without moving rendering to a client-side framework.adding interactivity while keeping server-side renderingapproach.

3. Coexists with the existing architecture

Sections, theme settings, and JSON templates keep working.no forced full migration, so you can adopt it gradually, starting with new pages or a few features.

4. Linting is being strengthened at the same time

Theme Check adds rules aimed at Liquid-first development. In particular,detecting mismatches between block arguments, schema, and {% doc %}is designed to head off the mistakes that writing structure directly in templates makes easy to introduce.

PREVIEW

5. Still an evaluation phase — three references to judge by

The original post points to developer preview overview / the {% block %} reference / the {% partial %} reference — those three — plus the Theme Check 3.28.0 release notes. Syntax details, limitations, and performance characteristics aren't covered in the original post, soalways verify it firsthand in a development store before proposing it.

93 use cases you can apply at work

USE CASE 1

Build campaign landing pages in "one file" and ship them faster

The problem
Every time you build a limited-time landing page, the structure gets scattered across JSON templates, sections, and snippets, so both review and handoff mean tracing across files.
The approach
Create a single Liquid template for the landing page and use{% block %} to arrange existing theme blocks and write the entire page structure inside it.
The payoff
Configuration lives in one place, so reviews and diff checks are faster. Shorter lead time from build to launch.
Technical notes
Existing sections and JSON templates keep working, soLiquid-first for this LP only is a viable partial rollout. Start by validating on a development store with the skeleton theme.
USE CASE 2

Build "UI that only updates in part" without going SPA

The problem
Requirements like filtered results or cart summaries — where you only want to swap out part of the page — tend to force the heavy decision of adopting a client-side framework.
The approach
Define the region you want to update as a named area with {% partial %} , then re-fetch and swap only that region from JavaScript.
The payoff
Rendering stays on the server (Liquid). You avoid the learning curve, build setup, and maintenance burden that come with adopting a framework.
Technical notes
The original post doesn't specify the API for triggering updates.Check the {% partial %} reference firstbefore scoping the work.
USE CASE 3

Locking down theme quality in CI with Theme Check 3.28.0

The problem
When several people and vendors are touching a theme, oversized templates and drift between schema and the arguments actually passed only surface in production.
The approach
Upgrade Theme Check to 3.28.0 and wire the new rules (syntax errors, excessive complexity, bloated files, invalid schema, inconsistencies between block arguments, schema, and{% doc %} ) into CI.
The payoff
Gaps between documentation and implementation get caught mechanically before review. Less load on manual, person-dependent review.
Technical notes
See the Theme Check 3.28.0 release notes for the full list of rules. Applying every rule to an existing theme all at once can produce a flood of warnings, so enabling them gradually is recommended.

10A one-line summary you can use in proposals

"The Liquid July '26 developer preview adds {% block %} and {% partial %} .
You can write the whole page structure in a single Liquid template, andget partial dynamic updates without going SPA.
Existing sections and JSON templates won't break, sopartial adoption starting with new pagesis a realistic way to try it."