如何用Python-Django通过WooCommerce API获取非私有隐藏商品
如何通过WooCommerce API筛选出非私有隐藏商品
当然可以解决这个问题!WooCommerce API提供了专门的查询参数,帮你轻松过滤掉那些私有或隐藏的商品。
核心思路
你提到的“私有隐藏商品”通常分为两类:
- 商品状态为
private(私有):这类商品仅管理员能看到,前端完全不可见 - 已发布但目录可见性设为
hidden:这类商品虽然状态是已发布,但不会出现在商店列表或搜索结果中
我们可以通过API的查询参数同时排除这两类商品。
修改后的代码
直接在你的get请求中添加params参数,指定商品状态和可见性:
wcapi = API( url=something, consumer_key=something, consumer_secret=something, wp_api=True, version="wc/v2", query_string_auth=True, verify_ssl=True, timeout=10 ) # 获取所有已发布且在前端可见的商品(排除私有、隐藏商品) r = wcapi.get("products", params={ "status": "publish", "visibility": "visible" })
参数说明
status": "publish":仅获取已发布状态的商品,直接排除私有(private)、草稿(draft)、待审核(pending)等非公开状态的商品visibility": "visible":仅获取在商店目录和搜索结果中都可见的商品,排除那些被设置为“隐藏”的已发布商品
额外提示:处理分页
WooCommerce API默认每次返回20条商品,如果你的商品数量较多,需要分页获取:
# 每页获取100条(API允许的最大单页数量),获取第1页数据 r = wcapi.get("products", params={ "status": "publish", "visibility": "visible", "per_page": 100, "page": 1 })
你可以通过循环递增page参数,直到返回的结果为空,来获取所有符合条件的商品。
内容的提问来源于stack exchange,提问作者gtopal
相关产品推荐
相关产品推荐

