Liquidでメタオブジェクトを扱う
metaobjectsで一覧・個別を出力し、商品からの参照とメタオブジェクトテンプレートを実装できる
最終確認: 2026-09
解説
受託の現場でなぜ必要か: この回では、metaobjectsで一覧と個別のエントリを出力し、商品からの参照とメタオブジェクトテンプレートを実装できるようになります。
受託では、店舗一覧セクションを「運用者がエントリを足せば増える」構造にしておくと、以後の追加依頼が来なくなります。
個別のエントリの読み方
個別のエントリはmetaobjects.brand['harenohi'](または.harenohi)で読みます。
フィールドはメタフィールドと同じく、.name.valueのように.valueで取り出します。
ハンドルとURLはsystem.handle / system.urlにあります。
旧形のshop.metaobjects.…は既存テーマに残っていますが、非推奨です。
一覧の回し方
全エントリは{% for store in metaobjects.store.values %}で回します。.valuesで配列になります。
取得件数には上限があります(公式で確認します)。
大量のデータは、全件を回す設計を避けるか、APIで扱います。
商品からの参照とテンプレート
product.metafields.custom.brand.valueがメタオブジェクトなので、続けて.name.valueと書けば名前が読めます。
リスト参照ならforで回します。templates/metaobject/brand.jsonのセクション内では、metaobjectオブジェクトが使えます(metaobject.name.value)。
SEO用のタイトルと説明は、定義側のSEO欄から入ります。
店舗一覧セクションはどう作るか
店舗一覧セクションは、metaobject_list設定(エディタでエントリを選ぶ形)か、全件ループで作ります。
運用者がエントリを追加すれば一覧が増える構造にします。
個別・一覧・商品からの参照・テンプレートの4つの書き方を押さえれば、どの要件にも対応できます。
※ ShopifyはShopify Inc.の商標です。本サイトは個人が制作した非公式の学習教材であり、同社の承認・提携・後援を受けていません。記載内容は2026-09時点のものです。料金・上限値・管理画面のラベルは変わるため、作業の前に公式ドキュメントで確認してください。