WC Lovers多供应商插件关联供应商名称与订单的SQL查询问题
解决方案
wp_wcfm_marketplace_orders表的VendorID字段直接关联WordPress默认用户表wp_users的ID字段,WCFM平台的供应商本质是具备供应商权限的WordPress用户,店铺名称存储在用户元数据表中。
表关联查询方案
你提到的wp_usermeta2如果是站点自定义的用户元表(默认站点对应表为wp_usermeta,可根据实际表名替换),优先取meta_key = 'wcfmmp_store_name'对应的meta_value作为供应商名称,store_name可作为空值 fallback 选项。
以下是可直接使用的关联查询SQL:
SELECT wmo.order_id, wmo.VendorID, -- 优先取官方存储的店铺名,为空则取兼容字段 COALESCE(um1.meta_value, um2.meta_value) AS vendor_store_name, wmo.order_total, wmo.commission FROM wp_wcfm_marketplace_orders wmo -- 关联取WCFM官方存储的店铺名称 LEFT JOIN wp_usermeta2 um1 ON wmo.VendorID = um1.user_id AND um1.meta_key = 'wcfmmp_store_name' -- 关联取备用兼容字段的店铺名称 LEFT JOIN wp_usermeta2 um2 ON wmo.VendorID = um2.user_id AND um2.meta_key = 'store_name' -- 可按需添加筛选条件 WHERE wmo.order_status = 'completed'
注意事项
- 请将SQL中的表前缀
wp_替换为你站点实际的数据库表前缀 - 如果你确认站点没有使用多套用户元表,直接把
wp_usermeta2替换为默认的wp_usermeta即可 - 如果需要关联更多订单原生字段,可额外关联
wp_posts表(关联条件wmo.order_id = wp_posts.ID)获取WooCommerce订单原始数据
内容的提问来源于stack exchange,提问作者Jonathan Wallis
相关产品推荐
相关产品推荐

