Shopify Function 读不到 metafield 怎么办
现象#
Function 里查询商品或购物车属性上的 metafield,返回一直是空;后台明明已经填了值。
原因#
- metafield 定义未开启 storefront 访问,Function 输入里取不到
- 查询用了错误的 namespace / key,或类型不匹配(单行文本 vs 富文本)
- Input 查询里没有声明该字段,Function 拿不到未请求的数据
- metafield 挂在变体上,却从商品层取
处理步骤#
- 在后台 设置 → 自定义数据 里确认该定义的访问权限包含 Storefront
- 核对 namespace 与 key 完全一致,注意大小写
- 在 input 查询里显式加字段:
metafield(namespace: "custom", key: "rule") { value } - 确认挂载层级:变体级字段要从
variant.metafield取
验收标准#
Function 输入中能读到 metafield 值;折扣或运费按该值正确计算。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。