ロケーション毎の在庫数を、商品ページに表示させた。※バリエーションあり

Topic summary

実店舗とウェブで複数のロケーションを持つショップで、商品ページにロケーション別の在庫数を表示する方法についての質問。

要件:

  • バリエーション商品(99%以上)で、各バリエーションごとにウェブ在庫と店舗在庫を別々に表示したい
  • ECではウェブ在庫のみ販売するが、店舗在庫数も表示して店舗誘導につなげたい

解決策:
Liquidではロケーション別の在庫数を直接取得できないため、以下の方法が提案された:

  • ウェブ在庫:通常のロケーション在庫機能を使用
  • 店舗在庫:バリエーションごとにメタフィールド(custom.store_inventory)で管理
  • Liquidコードで両方の在庫数を表示

結果:
質問者は提案された方法で実装できる見込みとなり、解決に至った。

Summarized with AI on October 29. AI used: claude-sonnet-4-5-20250929.

実店舗もあるので、ウェブと店舗でロケーションが複数存在している状態です。
ECではウェブ在庫のみの販売となるのですが、店舗の在庫数だけは表示したいと考えております。
※ウェブでは変えないけど、店舗への誘導になれば

バリエーションがある商品が99%以上なので、各バリエーション事に店舗在庫を表示する方法を探しています。

リキッドのカスタムで行けるような気がしてるのですが、バリエーション×ロケーションの管理がわからずご質問させて頂きました。

■例

24.5cm
Web:20
店頭:10

25cm
Web:10
店頭:15

25.5cm
Web:25
店頭:2

@Anonymous_0acf669b1250676c004466b1351e218c

liquidで処理できる在庫数はロケーションに関係無く合算で計算されているようで、

ロケーションごとに在庫数を分割してliquidのみで出力することは難しいかと思います。

別々に出力されたい場合、ウェブの在庫数はロケーションで在庫数をもち、店舗の在庫数はメタフィールドに持たせることで対応も可能かと思います。

メタフィールドの設定

Shopifyの管理画面で、各バリエーションに対して以下のメタフィールドを追加します:​

  • Namespace: custom

  • Key: store_inventory

  • : 店舗在庫数(例:10)

Liquidコードの追加

{% for variant in product.variants %}
  
    

サイズ:{{variant.title}}

ウェブ在庫: {{ variant.inventory_quantity }} 個

店舗在庫: {{ variant.metafields.custom.store_inventory }} 個

  

{% endfor %}

ご意向と違う場合は、読み飛ばしていただければと思います。

ご参考まで。

(キュー小坂)

ご回答ありがとうございます。

またお返事遅くなり大変申し訳ございませんでした。

課題解決に役立つアドバイスありがとうございました。

無事実装できそうです。