← inaro.devShopify学習ツール
08-06

customerと顧客アカウント

ログイン状態に応じた表示を実装し、新しい顧客アカウントでテーマが担う範囲を説明できる

最終確認: 2026-09

解説

受託の現場でなぜ必要か: この回では、ログイン状態に応じた表示を書き、新しい顧客アカウントでテーマが担う範囲を説明できるようになります。
受託では「会員限定のバナーを出したい」「ログインボタンを付けたい」という依頼で、非推奨の仕組みに乗らない作り方を選べるようになります。

customerとは、ログイン中の顧客の情報

未ログインならnil(値が無い状態)で、ログイン中はname / email / tags / orders_count / total_spent / addresses / default_address / b2b? / has_accountが入ります。
`{% if customer %}`が、そのままログイン判定になります。
リンク先はroutes.account_url / account_login_url / account_logout_url / account_register_urlから取ります。

テーマが担う範囲はどこまでか

テーマが担うのは、ログインの導線と、ログイン中の出し分け(会員限定コンテンツ・タグによる表示・B2Bの判定)だけです。
ログイン画面・注文履歴・住所編集は、Shopifyがホストするページ側にあります。
新しい顧客アカウントでは、routesのリンクからそのページへ遷移します。
templates/customers/*.liquidは2026-02に非推奨になったので、新しいテーマには含めません。

会員ランクで表示は変えられる・価格は変えられない

customer.tags contains 'vip'のように、顧客タグで会員向けの表示を出し分けられます。
ただし価格そのものを変える処理は、テーマではできません。
価格の変更は、Functions(サーバー側で動く拡張の仕組み)やB2Bの領域です。

発展:shopify-account Web Component

パスワードレスのサインインとアカウントメニューを、テーマに埋め込める部品です。
Skeleton themeのヘッダーが使っています。
テーマ側はアイコンを置くだけで済みます。

ステップ1 / 2

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