← inaro.devShopify学習ツール
07-10

moneyフィルタと価格表示

価格の内部表現を理解し、money系フィルタで正しい通貨表示ができる

最終確認: 2026-09

解説

受託の現場でなぜ必要か: この回では、価格の内部の持ち方を理解し、money系のフィルタで正しい通貨表示ができるようになります。
受託では、価格を自前で整形したテーマが多通貨で壊れるので、ここを自作しないことが壊れないテーマの条件です。

価格はどう保存されているか

product.priceは、1,000円なら100000です(最小単位×100)。
JPYに小数は無いですが、内部の表現は同じです。
自前で`divided_by: 100`して表示してはいけません。

money系フィルタとは

money(¥1,000)/ money_with_currency(¥1,000 JPY)/ money_without_currency / money_without_trailing_zerosの4つです。
書式はストアの通貨設定に従います。
設定は管理画面の「設定 › 一般」にある「ストアのデフォルト」から変えます(場所とラベルは公式ヘルプを参照)。
セール表示は、compare_at_price > priceのときだけ取り消し線を出し、両方をmoneyで整形します。

多通貨で壊れない理由

表示する通貨は、買い手の設定で切り替わります。
moneyフィルタは自動で追従しますが、自作の表示は追従しません。
通貨記号・桁区切り・小数の有無は、ストアの設定とmoneyフィルタに任せます。

この演習環境

moneyはダミーストアの書式(¥{{amount_no_decimals}})で整形しています。
本物は、Shopifyのサーバーがストアの設定で整形します。

ステップ1 / 2

ShopifyはShopify Inc.の商標です。本サイトは個人が制作した非公式の学習教材であり、同社の承認・提携・後援を受けていません。記載内容は2026-09時点のものです。料金・上限値・管理画面のラベルは変わるため、作業の前に公式ドキュメントで確認してください。