FROM CACHE - jp_header
このコミュニティはピアツーピアサポートに移行しました。Shopify サポートは今後、このコミュニティへのサービスを提供いたしません。これからもぜひ、他のマーチャントやパートナーとつながり、サポートし合い、経験を共有してください。 当社の行動規範に違反する行動や削除を希望するコンテンツがありましたら、引き続きご報告ください

アクセス国によって要素を分けたい

アクセス国によって要素を分けたい

Noki0123
Shopify Partner
1 0 0

カート画面において配送日時指定のフォームがあるのですが、これを日本以外からのアクセス時には非表示としたいです。

Liquidで使える国の判別方法はありますか?

言語セレクターの情報を使うと、日本にいて言語を変えている人にも表示されなくなってしまうため、アクセス元の国を検知したいです。

JSなどつかってしま

1件の返信1

st_mh
探検家
40 13 11

ログイン中のカスタマーしか出来ないですが、登録住所から割り出す方法が取れそうです。

あとは電話番号でしょうか。日本なら+81のように、固有の識別子が存在します。

 

{% if customer.phone contains '+81' %}
<!-- 日本ユーザーの時のみ表示 -->
{% endif %}

フォーラム内から確認した限り、国籍を識別する方法はこれくらいでしょう。

https://shopify.dev/docs/api/liquid/objects/customer#customer-addresses

 

難点は、ログイン中のみ使える点です。
非ログインで購入する場合は使えないです。

 

ーー

 

jsならIPジオロケーションサービスを用いれば、ログイン状況無関係な識別が可能です。

 

ユーザーのIPアドレスから国籍を絞り込む方法です。

例えば以下リンクを踏むと、大体の地域が表示されます。

https://www.geolocation.com/ja

 

こちらも難点があります。


liquidと違って、要素の出し分けは出来ません。
フォームのパーツは全て表示してから、jsで動的に隠したり削除することになります。
あとは、精度がどこまで信頼できるのか不明です。