Metafields
Metafields are where the real content lives in this theme. Products, collections, articles, and pages all carry structured data — feature steps, FAQ clusters, comparison specs, recipe ingredients — that sections and blocks pull in at render time. Most of these metafields point to metaobjects, which means the same content (say, an FAQ cluster) can be maintained once and surfaced on multiple pages via dynamic source.
The primary namespace is nama. You will also encounter custom and
custom_fields on older resources — these are legacy namespaces carried over
from earlier tooling and will be migrated over time.
Product metafields
Section titled “Product metafields”These live on individual products and power most of the PDP sections. On product pages, sections connect to them through dynamic source, so one metaobject entry can serve every product that references it.
| Key | Namespace | Type | Purpose | Used by |
|---|---|---|---|---|
product_alternate_title |
nama | Single-line text | Alternate display title shown on cards and nav featured items | Product Title, Nav Featured Items |
product_short_description |
nama | Single-line text | Short description for product cards and quick-add modals | Product Card |
product_card_images |
nama | Metaobject reference (card_images) |
Default and hover images for product cards, plus a comparison image | Product Card, Cart image fallback |
product_trust_badges |
nama | List of metaobject references (trust_badge) |
Trust badges shown below the add-to-cart button | Product Trust Badges |
product_feature_section |
nama | Metaobject reference (product_feature_section) |
Feature steps cluster with title, tag, heading, and individual steps | Feature Steps |
product_accordion_cluster |
nama | Metaobject reference (product_accordion_cluster) |
Expandable accordion items on the PDP | Accordion |
comparison_products |
nama | List of product references | Products to compare in the comparison table | Comparison Table |
comparison_specs |
nama | Metaobject reference (comparison_specs) |
Spec rows for the comparison table | Comparison Table |
product_faqs |
nama | Metaobject reference (faq_group) |
FAQ cluster for the product page | FAQs |
product_related_products |
nama | List of product references | Curated related products (overrides Shopify recommendations) | Related Products |
product_featured_editorial |
nama | Metaobject reference (product_featured_editorial) |
Editorial hero with primary/accent media, description, and CTA | Featured Editorial |
product_featured_recipes |
nama | Metaobject reference (featured_articles) |
Featured recipe/article cards with optional tag filter | Featured Recipes |
product_social_slides |
nama | Metaobject reference (slides) |
Social media image/video slides | Social Slider |
product_text_image_split |
nama | List of metaobject references (text_image_split) |
One or more text-and-image split sections | Text Image Split |
product_educators |
nama | List of metaobject references (educator) |
Educator bios shown on the PDP | Educators |
bundle_offer |
nama | List of metaobject references (bundle_offer) |
Bundle checkbox cards with dynamic product | Bundle Checkbox |
free_gift_options |
nama | List of metaobject references (free_gift_option) |
Free gift dropdown options in the cart | Promo Selector |
compatible_products |
nama | List of product references | “Works with” row in quick-add modal | Product Compatibility |
system_block |
nama | Metaobject reference (system_block) |
Total Kitchen / system section data | Total Kitchen |
cart_upsell |
nama | List of metaobject references (cart_upsell_item) |
Upsell product suggestions in the cart drawer | Cart drawer (React) |
variant_cards |
nama | List of variant references | Variants that expand into individual cards in collection grids and comparison tables | Variant Cards, Main Collection, Product Card |
variant_card_group_option |
nama | Single-line text | The option name to split variant cards on (e.g. “Style”). Must match a product option name. | Variant Cards |
Variant metafields
Section titled “Variant metafields”Variant metafields provide per-variant overrides for card images, display titles, and style descriptions.
| Key | Namespace | Type | Purpose | Used by |
|---|---|---|---|---|
product_variant_card_image |
nama | File reference | Variant-specific card image (overrides product featured image) | Product Card, Variant Cards |
variant_display_title |
nama | Single-line text | Optional title override for the variant’s card in collection grids | Variant Cards |
variant_style_description |
nama | Single-line text | Short description shown on the Style variant card selector (e.g. “Slower to juice, but easier to clean.”) | Product Variant Options |
swatch_image |
custom | File reference | Variant-level swatch image | Product Variant Options |
is_preorder |
custom_fields | Boolean | Whether the variant is in preorder state | Product Form Submit |
availability_date |
custom_fields | Date | Expected availability date for preorder variants | Product Form Submit |
Collection metafields
Section titled “Collection metafields”Collections use metafields for editorial content injected into the grid, alternate copy, comparison tables, and filtering configuration.
Namespace: nama
Section titled “Namespace: nama”| Key | Namespace | Type | Purpose | Used by |
|---|---|---|---|---|
collection_editorials |
nama | Metaobject reference (collection_editorial_set) |
Editorial cards inserted at configured grid positions | Main Collection |
collection_alternate_title |
nama | Single-line text | Overrides the collection title | Main Collection |
collection_alternate_description |
nama | Single-line text | Overrides the collection description | Main Collection |
collection_compare_table_title |
nama | Single-line text | Heading for the collection comparison table | Comparison Table |
collection_comparison_table_products |
nama | List of product references | Products shown in the collection comparison table | Comparison Table |
collection_faqs |
nama | Metaobject reference (faq_group) |
FAQ cluster for the collection page | FAQs |
collection_filter_set |
nama | Metaobject reference (collection_filter_set) |
Tag-based filter groups and pill configuration | Collection Filters |
collection_featured_articles |
nama | Metaobject reference (featured_articles) |
Featured recipe/article cards on the collection page | Featured Recipes |
Namespace: custom (legacy)
Section titled “Namespace: custom (legacy)”| Key | Namespace | Type | Purpose | Used by |
|---|---|---|---|---|
photo_medley |
custom | Metaobject reference (photo_medley) |
Three-image photo medley layout | Photo Medley |
hero_description |
custom | Rich text | Extended description for the collection hero | Hero Collection |
Article metafields
Section titled “Article metafields”Article metafields are concentrated on recipes. Every recipe article carries structured data — ingredients, directions, yield, prep time — that powers both the recipe card display and the JSON-LD recipe schema for search engines.
All article metafields live in the custom namespace.
| Key | Namespace | Type | Purpose | Used by |
|---|---|---|---|---|
recipe_type |
custom | List of metaobject references (blog_category) |
Recipe categories — references blog_category entries with group recipe_type |
Recipe Article |
recipe_base_ingredients |
custom | List of metaobject references (recipe_ingredient_items) |
Base ingredients for filtering and display | Recipe Article |
ingredient_lines |
custom | List of single-line text | Individual ingredient lines for the recipe card | Recipe Article |
recipe_direction_steps |
custom | List of single-line text | Step-by-step directions | Recipe Article |
recipe_yield |
custom | Single-line text | Serving size or yield (e.g., “2 servings”) | Recipe Article |
recipe_season |
custom | Single-line text | Seasonal tag for filtering | Recipe Article |
recipe_prep_time |
custom | Single-line text | Prep time — number or human string (e.g., “15” or “15 minutes”). Auto-converted to ISO 8601 for Recipe schema. | Recipe Article |
recipe_total_time |
custom | Single-line text | Total time — same format as prep time. Converted to ISO 8601 for Recipe schema. | Recipe Article |
recipe_video_captions |
custom | URL | WebVTT (.vtt) caption file URL for recipe gallery videos with speech. Required for WCAG 1.2.2. | Recipe Article |
recipe_made_with |
custom | List of product references | Products used to make the recipe | Recipe Article |
recipe_note |
custom | Rich text | Optional note displayed below the recipe | Recipe Article |
recipe_gallery |
custom | List of file references | Gallery images for the recipe | Recipe Article |
recipe_ingredients_custom |
custom | Multi-line text | Free-form ingredient text (fallback when structured lines are empty) | Recipe Article |
what_you_need_collection |
custom | Collection reference | A collection of tools/products needed for the recipe | Recipe Article |
Page metafields
Section titled “Page metafields”Pages carry minimal metafield data. The main use case is the tag line that appears in the left column of the two-column page layout.
| Key | Namespace | Type | Purpose | Used by |
|---|---|---|---|---|
tag_line |
page | Single-line text | Kale-coloured tag line in the left column of the page layout | Main Page |
Dynamic source and metaobject connections
Section titled “Dynamic source and metaobject connections”Most metafields in the nama namespace point to metaobjects. This is by design.
Sections on the PDP connect to these metafields through Shopify’s dynamic source
mechanism, which means:
- The section schema declares a metaobject picker or metaobject list setting.
- In the theme customizer, you connect that setting to the product metafield via dynamic source.
- Shopify resolves the metaobject for whatever product is being viewed.
This pattern keeps content centralized. An FAQ cluster, a feature steps section, or a social slides collection is authored once as a metaobject entry and linked to as many products as needed. When you update the metaobject, every product that references it picks up the change.
The same pattern applies to collections — collection_editorials,
collection_faqs, collection_filter_set, and collection_featured_articles all
connect through dynamic source so each collection can carry its own content without
duplicating section configuration.