You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过WooCommerce REST API按SKU列表获取全部商品

解决WooCommerce API获取多个SKU商品详情的问题

你的代码只返回最后一个SKU的商品,是因为当你直接传入SKU列表作为sku参数时,HTTP客户端会将其解析为重复的sku查询参数(比如sku=sku_1&sku=sku_2),而WooCommerce API仅会处理最后一个sku参数,因此只返回对应商品。

以下是两种可行的解决方法:

方法1:将SKU列表转为逗号分隔的字符串传递

WooCommerce API支持通过逗号分隔的字符串来指定多个SKU,直接将列表拼接后传入即可:

lst_of_skus = ['sku_1','sku_2']
# 把SKU列表转为逗号分隔的字符串
sku_filter = ','.join(lst_of_skus)
# 发起请求
response = wcapi.get("products", params={'sku': sku_filter}).json()

方法2:处理分页(避免遗漏商品)

如果匹配的商品数量超过API默认的每页返回数(默认是10条),需要循环获取所有分页的结果:

lst_of_skus = ['sku_1','sku_2']
sku_filter = ','.join(lst_of_skus)
all_products = []
current_page = 1

while True:
    # 每页最多请求100条(API允许的最大值)
    page_response = wcapi.get(
        "products",
        params={'sku': sku_filter, 'page': current_page, 'per_page': 100}
    ).json()
    if not page_response:
        break
    all_products.extend(page_response)
    current_page += 1

# all_products 就是所有匹配SKU的商品列表

注意:确保你的WooCommerce API版本为v3及以上,该版本开始支持逗号分隔的SKU过滤方式。

内容的提问来源于stack exchange,提问作者Ron Kieftenbeld

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 17:31:14