Plugins
Plugins in Website Builder admin let you add Liquid, HTML, CSS, and JavaScript snippets to Theme v3.12.2+.
Availability and requirements
- The Plugins editor is available for websites running Theme v3.12.2+.
- Plugins are not supported on Theme v2 or Theme v1.
- The available plugins list can vary by theme version.
- If a website is on Theme v3 but not on a recent version, the PM can reach out to the Websites team to upgrade Theme v3 to the latest version (free).
How plugins work
- You add a plugin snippet via the Plugins interface in Website Builder admin.
- Plugin snippets are saved per website and rendered where the theme exposes plugin slots.
Plugin types
- Each theme provides a set of built-in (fixed) plugins.
- You can also create custom plugins.
- Custom plugins can be rendered inside other plugins.
Naming recommendation
Use the custom_ prefix for custom plugins (for example, custom_my_plugin) to reduce the risk of name collisions if a future theme version introduces a plugin with the same name.
Rendering a plugin
Use the Liquid tag:
{% plugin name_of_plugin %}
Autocomplete
- The plugin name input provides an autocomplete with an exhaustive list of plugins available for the selected theme.
- The autocomplete only shows plugins available for the current theme version.
Override behavior (advanced)
To override a template, place the following Liquid tag at the very beginning of the plugin snippet:
{% break %}
Important notes
- This override behavior only affects plugins whose snippet starts with
template_. - The
{% break %}tag must be the first thing in the snippet (no whitespace or characters before it).
Examples
Basic snippet
<div class="container py-4">
<div class="p-4 p-md-5 mb-4 rounded-3 bg-body-tertiary border">
<div class="container-fluid py-3">
<h1 class="display-6 fw-bold">Plugins</h1>
<p class="col-md-8 fs-5">
This is a basic layout block you can paste into a plugin snippet.
</p>
<button type="button" class="btn btn-primary btn-lg">Primary action</button>
</div>
</div>
<div class="row g-3">
<div class="col-12 col-md-6">
<div class="card h-100">
<div class="card-body">
<h2 class="h5 card-title">Card title</h2>
<p class="card-text">Short supporting text for this card.</p>
<a href="#" class="btn btn-outline-secondary btn-sm">Learn more</a>
</div>
</div>
</div>
<div class="col-12 col-md-6">
<div class="card h-100">
<div class="card-body">
<h2 class="h5 card-title">Another card</h2>
<p class="card-text">More text to show spacing and typography.</p>
<span class="badge text-bg-success">New</span>
</div>
</div>
</div>
</div>
</div>
Built-in plugin slots (Theme v3)
These plugin slots can vary by theme version.
before_content_for_headerbefore_head_endafter_body_startbefore_content_for_layoutbefore_body_endheaderfootertemplate_404template_campaigntemplate_categorytemplate_contacttemplate_cookiestemplate_destinationtemplate_indextemplate_page_content_largetemplate_page_contenttemplate_titletemplate_pagetemplate_passwordtemplate_rentaltemplate_searchtemplate_suggested_rentals