WooCommerce customer_id分配规则及访客客户API查询问题
WooCommerce访客模式下customer_id规则及未注册用户API问题解答
一、访客订单的customer_id分配规则
- 纯未注册访客的订单,
customer_id默认固定为0。 - 若你遇到非
0的customer_id,通常是两种场景:- 该访客此前注册过站点账户,即使本次以访客身份下单,系统仍会通过其填写的邮箱关联到原有用户ID
- 站点开启了「允许访客结账并关联已有邮箱用户」的设置,当访客填写的邮箱对应已存在的注册用户时,会复用该用户的ID作为
customer_id
- 不存在基于IP地址或客户数据哈希分配
customer_id的逻辑,核心关联依据是浏览器会话Cookie(识别同一会话内的多次下单)和填写的邮箱地址(关联已有注册用户)
二、客户列表API返回空及无法获取未注册用户信息的原因
- 客户列表API(
/wp-json/wc/v3/customers)仅返回正式注册的站点用户,未注册的访客不会被系统创建为独立用户账户,因此接口返回空列表是正常现象。 - 未注册购买用户的所有信息都直接绑定在订单数据中,不会单独存储为用户条目。如果需要获取这些访客的信息,只能通过订单列表API(
/wp-json/wc/v3/orders)提取订单对象里的billing、shipping字段内容,以及customer_note等相关字段。 - 若要汇总访客客户的信息,你需要自行遍历所有订单,整理并去重复访客的邮箱、联系方式等数据——系统本身不会为访客生成独立的用户记录。
内容的提问来源于stack exchange,提问作者Sander Smith
相关产品推荐
相关产品推荐

