Shopify Functions

Shopify Function 读不到 metafield 怎么办

现象#

Function 里查询商品或购物车属性上的 metafield,返回一直是空;后台明明已经填了值。

原因#

  • metafield 定义未开启 storefront 访问,Function 输入里取不到
  • 查询用了错误的 namespace / key,或类型不匹配(单行文本 vs 富文本)
  • Input 查询里没有声明该字段,Function 拿不到未请求的数据
  • metafield 挂在变体上,却从商品层取

处理步骤#

  1. 在后台 设置 → 自定义数据 里确认该定义的访问权限包含 Storefront
  2. 核对 namespace 与 key 完全一致,注意大小写
  3. 在 input 查询里显式加字段:metafield(namespace: "custom", key: "rule") { value }
  4. 确认挂载层级:变体级字段要从 variant.metafield 取

验收标准#

Function 输入中能读到 metafield 值;折扣或运费按该值正确计算。

本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。