カスタムフィールドを利用して商品ページに簡単に関連商品を表示したい方
※本ページはプロモーションが含まれています
概要
Shopifyで商品ページに関連商品を表示させる方法はいくつかありますが、今回はカスタムフィールドをアプリで作成し、簡単なコードで実現する方法をご紹介します。 関連商品を設定する方法は様々で、細かい設定ができるものもありますが、今回は設定が簡単にできる点を優先しています。前提
・今回は「Metafields Guru」というアプリを使います。詳細は省きますが、ユーザー独自の項目を設定できるもので、wordpressのカスタムフィールドのようなものだと思っていただければいいと思います。無料プランもあるので、最初はそれで十分だと思います。
手順
- Metafields Guruの導入
- コードの実装
- まとめ
Metafields Guruの導入
Metafields Guruをインストールします。Shopifyアプリストアから「Metafields Guru」を検索してください。





コードの実装
“main-product.liquid”を開き、任意の場所に以下のコードを入力してください。 ※下記はTailwindcssを使用しています。Tailwindをインストールしていないがスタイルも正確に当てたい方はCDNをご利用ください。<script src="https://cdn.tailwindcss.com"></script>// <head>内に記述※そのコレクションにアイテムがその商品以外に1つ以上あることを前提にしています。また商品がなかった場合の処理はここでは記述していません。
<div> {% assign collection = product.metafields.global.collection.value %} //ここで所属するコレクションを取得 <ul> {% for product in collection.products limit: 4 %} //コレクションのアイテム(関連商品)を4件まで表示 <li class="border p-2 relative hover:opacity-80 shadow-md card-js"> <a href="{{ product.url }}" class="block"> <figure> <div class="overflow-hidden"> <img src="{{ product.featured_image.src | img_url: '1000x' }}" alt="{{ product.title }}" class="w-9/12 mx-auto my-2 mb-1 hover:scale-125 transition duration-300"> </div> <figcaption class="px-2 text-xs mb-1"> {{ product.title }} </figcaption> </figure> </a> </li> {% endfor %} </ul> </div>細かく説明していきます。
{% assign collection = product.metafields.global.collection.value %} //ここで所属するコレクションを取得ここで上記の③④で設定した値を記述します。 “product.medafields”に続けて③(global)と④(collection)を設定します。今回ですと上記で該当するコレクションを取得できます。
{% for product in collection.products limit: 4 %} //コレクションのアイテム(関連商品)を4件まで表示あとはループでそのコレクションに属している商品(products)を表示していきます。上記の例ですと4件まで取得するようにしています。 以上でコードの実装は完了です。