- i only speak liquid
- Posts
- "i only speak liquid" #63: Metaobject Update - Theme Settings New Superpower
"i only speak liquid" #63: Metaobject Update - Theme Settings New Superpower
Written by Jude (a Storetasker Expert)
Hey everyone!
This edition brought to you by the talented Jude (member of Storetasker).
Jude is a talented developer based New Zealand with Jude has a passion for headless e-commerce stores, combining fast, modern frontends with Shopify's powerful backend šļøšØ
Heās also a member of the Storetasker network š
What Iāve been thinking about: Theme Settings New Superpower
In a previous edition I talked about how much I love metaobjects, and now we've got two new powerful tools in the theme development toolkit: metaobject and metaobject_list settings. I've been experimenting with these, and I'm excited about the possibilities they open up. These new settings act as a bridge between a theme's customization options and the structured data from metaobjects, which can now be directly selected from the theme editor.
A practical example for implementing re-usable FAQ content. Let's say we have an FAQ metaobject with a question and answer field. Now you can create a flexible section that uses this:
{% schema %}
{
"name": "FAQ Block",
"settings": [
{
"type": "text",
"id": "title",
"label": "Section Title",
"default": "Frequently Asked Questions"
},
{
"type": "metaobject_list",
"id": "faq_entries",
"label": "FAQ Entries",
"metaobject_type": "shopify--faq"
}
],
...
}
{% endschema %}
<div class="faq-section">
<h2>{{ section.settings.title }}</h2>
<div class="faq-container">
{% for faq in section.settings.faq_entries %}
<div class="faq-item">
<div class="faq-question">
{{ faq.question }}
</div>
<div>
{{ faq.answer }}
</div>
</div>
{% endfor %}
</div>
</div>
Now merchants can:
Create FAQ content once, use it everywhere
Maintain consistent answers across all pages
Update shipping or return policy answers in one place
Easily translate FAQ content for multiple languages
What excites me most is how these settings democratize content management. Instead of building complex custom solutions or requiring merchants to remember specific metafield handles, we can now provide intuitive picker interfaces right in the theme editor.
Some potential use cases I'm thinking about:
Size guide content blocks
Shipping policy sections
Product care instructions
Cross-sellable content blocks
Promotional banner content
3 links you canāt miss:
Visual design rules you can safely follow every time. - You do not have to follow these rules every time. If you have a good reason to break any of them, do. But they are safe to follow every time.
https://godly.website/ - My favourite source for design inspiration.
DevEx: What Actually Drives Productivity. - An interesting article about what drives developer productivity.
1 app I like:
Hextom: Bulk Product Edit
Iāve found this app super useful when needing to make bulk changes to store data. Iāve used it to set metafields based on product type, update price comparison data using a formula and standardise SKUs among other things. Being able to export the data, manipulate it with a script, and then re-upload it makes these kinds of operations on large product sets really painless, and the built-in backup has saved me on a more than one occasion.
One learning as a freelancer:
Outcomes over output.
It sounds a bit counter intuitive as a software developer, but very few clients have paid me for code. Itās easy to get caught up in the craft and obsess over elegant solutions and, while that does matter, it's merely a means to an end, not the end itself. What they want are business outcomes.
Start with "Why?"
Before writing any code, understand what success looks like for the business
Ask about specific metrics they want to improve
Discuss how they'll measure the impact
Speak Their Language
Instead of talking about technical implementations, try to focus on the business impact
āImplement fuzzy search and natural language processing to improve resultsā vs "Customers will find exactly what they're looking for on their first search"
"Implement an AI driven product recommendation engine" vs "Increase average order value as customers find complementary products"
Validate Early and Often
Check if your solution is actually solving the business problem
Get feedback on outcomes, not just functionality
Be willing to pivot if the solution isn't achieving the desired results
When you focus on business outcomes, clients will trust your technical decisions more. They see you as a partner in achieving their goals, not just a coder implementing features. Plus, when you need to advocate for technical improvements, you can frame them in terms of business outcomes. Now when starting new projects, I try to lead with "What business outcome are we trying to achieve?" instead of "What do you want me to build?"