顾客 metafield 在账户页读出来是空的怎么查
现象#
顾客 metafield custom.tier 在后台显示 gold,账户页的自定义区块却渲染成空白,Customer Account API 里查同样是 null。
原因#
- 定义建在 Customers 上但没开 Storefront 访问权限,前台与 API 都读不到
- UI extension 没在 toml 的
[[extensions.metafields]]里声明,运行时拿不到该字段 - 值实际存在应用命名空间 app--123--tier,代码查的却是 custom.tier
- 后台改的是另一条同名顾客档案的自定义数据,登录的顾客并不是那一条
处理步骤#
- 在
Settings > Custom data > Customers确认 namespace 与 key 拼起来是custom.tier - 给该定义打开 Storefront 访问,保存后等一分钟再查
- 在
shopify.extension.toml里加[[extensions.metafields]],写明 namespace 与 key - 在 GraphiQL 里查
metafield(namespace: "custom", key: "tier")确认有值 - 确认查询用的是登录顾客的 token,匿名 token 读不到顾客级 metafield
验收标准#
扩展刷新后显示 gold,API 返回 value 为 gold,未登录时同一查询返回 null。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。