WooCommerce 是建立在 WordPress 的数据库结构之上运行的,所有的数据(订单、产品、用户、物流、库存等)都存储在 MySQL 数据库中。如果你想进一步对接 ERP、做数据备份、或开发插件,就必须理解这些数据的底层结构。
🧩 一、WooCommerce 数据存在哪些核心表中?
WooCommerce 没有独立数据库,而是“复用”了 WordPress 的核心数据表,并额外扩展了一些自定义表。主要数据结构如下:
数据类型 | 主表 | 说明 |
---|---|---|
产品(Products) | wp_posts | 产品本质是 WordPress 的一种“自定义文章类型” (product ) |
产品属性 | wp_postmeta | 存储价格、SKU、库存、图片等元数据 |
订单(Orders) | wp_posts | 同样以 shop_order 类型存在于 wp_posts 中 |
订单详情 | wp_postmeta | 包含客户地址、支付信息、物流信息等 |
订单商品明细 | wp_woocommerce_order_items | 存储订单中每个商品的 ID、数量、名称 |
商品明细元数据 | wp_woocommerce_order_itemmeta | 存储该商品的价格、税、SKU 等细节 |
用户(客户) | wp_users | WordPress 原生用户表,保存用户名、邮箱等 |
用户详情 | wp_usermeta | 客户的账单地址、角色权限、购物记录等 |
税务数据 | wp_woocommerce_tax_rates | 各地区的税率信息 |
运费规则 | wp_woocommerce_shipping_zones | 地区划分与运费配置 |
库存记录 | wp_wc_product_meta_lookup | 产品库存、销量等快捷索引表 |
📦 二、以产品为例:WooCommerce 如何“组装”一件商品?
在
wp_posts
中创建一条类型为product
的记录在
wp_postmeta
中添加以下字段(使用键值对方式):
meta_key | 示例值 | 含义 |
---|---|---|
_price | 29.99 | 售价 |
_sku | W123456 | 库存编号 |
_stock | 100 | 库存数量 |
_thumbnail_id | 351 | 产品图的媒体ID |
_visibility | visible | 是否前台可见 |
📝 所以,如果你使用 SQL 查询一款产品的价格,查询的其实是
wp_postmeta
中_price
这个字段。
📦 三、以订单为例:WooCommerce 如何存储一笔订单?
假设用户在你的网站下了一个订单,购买了 2 件产品,这笔数据会分布在多个表中:
表名 | 数据内容 |
---|---|
wp_posts | 创建一条类型为 shop_order 的记录 |
wp_postmeta | 记录该订单的支付方式、客户姓名、运费、总价等 |
wp_woocommerce_order_items | 每个商品对应一条记录(商品名、类型为 line_item ) |
wp_woocommerce_order_itemmeta | 每件商品的 SKU、单价、数量、税额、折扣等 |
📦 四、以用户为例:WooCommerce 如何识别客户身份?
用户登录下单时,会写入两部分数据:
表名 | 内容 |
---|---|
wp_users | 用户名、邮箱、密码(加密)、注册时间等 |
wp_usermeta | 地址、偏好、角色(如 customer)、登录记录、语言等 |
💡 小技巧: WooCommerce 客户的角色是 customer
,可以通过筛选该角色查询所有客户数据。
🧠 五、理解 WooCommerce 数据结构的意义
应用场景 | 作用 |
---|---|
数据迁移 | 将 WooCommerce 网站迁移到新服务器或新系统 |
第三方对接 | 对接 ERP、CRM、仓储、报关系统等外部平台 |
性能优化 | 对查询频繁的字段做缓存或索引优化 |
二次开发 | 写自定义插件、修改功能逻辑 |
数据可视化 | 搭建数据仓库,用 Power BI、Tableau 等工具分析订单 |
✅ 小结:WooCommerce 数据虽杂,但有迹可循
WooCommerce 的数据以 “主表 + meta 扩展” 的结构存在,理解这些表的关联关系后,任何定制化需求都能实现。
下图展示 WooCommerce 数据关系的简要示意图(可用于开发人员参考):
csharp
[wp_posts] <===> [wp_postmeta]
↑(订单/产品)
↑(字段扩展)[wp_users] <===> [wp_usermeta]
↑(用户)
↑(地址、角色)[wp_woocommerce_order_items] <===> [wp_woocommerce_order_itemmeta]
↑(订单项)
↑(商品明细)