如何在 Shopify 中通过产品 ID 获取指定商品数据

· Updated
1 分钟阅读
如何在 Shopify 中通过产品 ID 获取指定商品数据
目录

TL;DR

To retrieve specific item data using a product ID in Shopify, use the Admin REST API for a simple single-product fetch or the GraphQL Admin API for more flexible and efficient queries. Shopify Flow can handle some no-code automation use cases, while Liquid still lacks a direct all_products[ID] lookup and should only be used as a workaround. The key is using the correct ID format: numeric IDs for REST and GraphQL GIDs for GraphQL.

想通过产品 ID 找到 Shopify 中的特定商品却怎么也找不到,这种体验确实让人抓狂。不过,折腾的日子到此为止——你来对地方了。

这份简短但全面的指南,将帮助你更顺畅、更高效地使用 Shopify。尽管 Shopify 的 Liquid 在主题开发中仍然缺少直接的 “all_products[ID]” 功能,但依然有有效的替代方案与现代 API 方法,能让你通过产品 ID 获取商品信息。

继续阅读,了解这些方法,并简化你的商品管理流程。

Shopify Liquid 仍然没有 “all_products[ID]” 的等价用法

对于使用 Shopify Liquid 的主题开发者来说,模板系统里依旧没有直接的 “all_products[ID]” 功能。当你手上只有产品 ID 时,查找特定商品会变得更麻烦。多年来,许多开发者都提到过这一限制。

不过,Shopify 已推出诸如 GraphQL Admin API 等现代 API 方案,让应用开发者以及在主题模板之外工作的人员可以轻松通过 ID 获取商品。对于主题开发者而言,基于 handle 的有效替代方案仍然是首选。

通过产品 ID 获取商品信息的多种方式

可用的方法取决于你是在做 Shopify 主题、开发应用,还是需要访问商品数据。以下是 2025 年最有效的几种方式:

在 Liquid 中使用 “All Products Handle”

在 Shopify 主题中,使用 handle 是定位特定商品最有效的方法之一。all_products 对象允许你通过商品的 handle 访问商品,但要注意:每个页面最多只能使用 20 个不同的 handle。要使用 handle 方法,请按以下步骤操作:

  1. 通过 all_products 对象使用 handle 访问商品:
{{ all_products['the-handle'].title }}

2. 如果你必须处理产品 ID,就需要遍历某个 collection 并匹配 ID,因为 all_products 需要的是 handle 而不是 ID。

使用 “Assign Variant” 方法

如果你的商品有变体(variants),assign variant 方法会非常好用。它可以让你访问特定变体的信息。按以下步骤操作:

  1. 选择商品 handle 并访问你需要的变体。
  2. 使用以下代码获取所选变体的 ID
{% assign variant = all_products[handle].variants.first.id %} 
{{ variant }}

使用 GraphQL Admin API(推荐用于应用)

对于开发 Shopify 应用或使用 Admin API 的开发者来说,GraphQL Admin API 提供了一种现代且高效的方式,可以直接通过 ID 获取商品。该方法非常适合用于:

  • 构建自定义应用与集成
  • 自动化获取商品数据
  • 以编程方式管理商品

GraphQL 的 product 查询允许你通过提供商品的全局 ID(例如 “gid://shopify/Product/12345”)来获取商品。该方式可全面访问商品数据,包括变体、集合(collections)、定价以及元数据。

通过后台管理面板查找产品 ID

你可以在 Shopify 后台查看商品时轻松找到产品 ID。打开某个商品的详情页后,产品 ID 会显示在 URL 中 “/products/” 之后。你也可以在任意商品 URL 后加上 .json,以 JSON 格式查看全部商品数据,其中也包含产品 ID。

结论

尽管 Shopify Liquid 在主题开发中仍然缺少直接的 “all_products[ID]” 功能,但在 2025 年,依然有多种有效方法可以通过产品 ID 获取商品信息。主题开发者可以使用 “All Products Handle” 与 “Assign Variant” 方法;而应用开发者则可以借助强大的 GraphQL Admin API,直接进行基于 ID 的查询。

这些由 Shopify community 发现并不断完善的替代方案,为常见的商品管理难题提供了实用解法。对于现代应用开发而言,Shopify 的 GraphQL API 则是最强大、最高效的解决方案。

按照本指南操作,你可以提升商品管理能力,让你的 Shopify 使用体验更加顺畅。持续探索并灵活运用这些技巧,能帮助你的在线商店保持稳定高效的工作流。

分享这篇文章

相关文章