Shopify 顾客账户

顾客 metafield 在账户页读出来是空的怎么查

现象#

顾客 metafield custom.tier 在后台显示 gold,账户页的自定义区块却渲染成空白,Customer Account API 里查同样是 null。

原因#

  • 定义建在 Customers 上但没开 Storefront 访问权限,前台与 API 都读不到
  • UI extension 没在 toml 的 [[extensions.metafields]] 里声明,运行时拿不到该字段
  • 值实际存在应用命名空间 app--123--tier,代码查的却是 custom.tier
  • 后台改的是另一条同名顾客档案的自定义数据,登录的顾客并不是那一条

处理步骤#

  1. 在 Settings > Custom data > Customers 确认 namespace 与 key 拼起来是 custom.tier
  2. 给该定义打开 Storefront 访问,保存后等一分钟再查
  3. 在 shopify.extension.toml 里加 [[extensions.metafields]],写明 namespace 与 key
  4. 在 GraphiQL 里查 metafield(namespace: "custom", key: "tier") 确认有值
  5. 确认查询用的是登录顾客的 token,匿名 token 读不到顾客级 metafield

验收标准#

扩展刷新后显示 gold,API 返回 value 为 gold,未登录时同一查询返回 null。

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