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

「Advanced Custom Fields」アプリでProduct variantsに設定したmetafieldsが表示できない

「Advanced Custom Fields」アプリでProduct variantsに設定したmetafieldsが表示できない

たまごごはん
訪問者
2 0 1

「Advanced Custom Fields」アプリをインストールして、https://help.advancedcustomfield.com/の公式ヘルプページを見ながら作業しています。

 

まず、問題なくできた範囲としては、

アプリ内でProductに新しいCustom Fieldsを追加して、そのMetafieldsを設定した後、テーマのproduct-template.liquidファイルにコード{{product.metafields.namespace.key}}を挿入して、該当のShopifyページにMetafieldsの内容が意図した通りに表示されるところまではできました。

 

そして、できていない内容としては、

アプリ内でProduct variantsに新しいCustom Fields(Namespace: Shipping、Key: Hokkaido)を追加して、そのCustom FieldsにMetafieldsを設定(¥3,300)して、上と同様にproduct-template.liquidファイルにコード{{variant.metafields.Shipping.Hokkaido}}を挿入してみましたが、該当のShopifyページにはMetafieldsの内容(¥3,300)が出力されません。

ACF_Configration.pngACF_Metafields.png

Product variantsの場合は、Productと違ってLiquidの記述方法などが異なるのでしょうか。

お分かりの方おられましたらアドバイスいただけますと幸いです。よろしくお願いいたします。

2件の返信2

Jizo_Inagaki
Shopify Partner
1136 415 723

恐らくですが以下のようなfor文が抜けているのではと思われます。

{% for variant in product.variants %}
  {{ variant.metafields.hoge.fuga }}
{% endfor %}

記載済みでしたら申し訳ありません。

Jizo_Inagaki | フリーランスのwebデザイナー
- テーマのカスタム承れます。
- 記載した回答で解決できましたらベストソリューションの承認をお願いします。
- DMや指名による対応はご依頼として有料でのみ承ります。
たまごごはん
訪問者
2 0 1

jizoさん

アドバイスいただき、ありがとうございました。

 

ご指摘いただいた「for文」、確かに記述しておりませんでした!

お教えいただいたように、product-template.liquidに下記コードを追記しましたところ、登録したmetafieldは表示できました。

{% for variant in product.variants %}
  {{ variant.metafields.Shipping.Hokkaido }}
{% endfor %}

 ただ、その商品の全てのバリエーションのmetafieldがズラズラっと表示されてしまいましたので、

金額表示と同じように選択したバリエーションと対になったmetafieldのみを表示するには、<option>タグとの組み合わせなどが必要かな?と想像しました。

後でもう少しコードを工夫してみます。

 

数日間まともに動作させられずモヤモヤしていたのですが、ようやく光が見えてきました。

本当にありがとうございました!