如何在WooCommerce数据库中找到客户订购的产品


How can I find the product a customer ordered in a WooCommerce database?

我知道订单驻留在wp_posts表中,post_type为shop_order。wp_postmeta表包含有关每个订单的信息,例如名称,地址,状态等。但是,我缺少的是用户订购的项目。

我在数据库中找不到拉取该信息的关系。

有人可以指出我正确的方向吗?

为什么不让WooCommerce为您获取物品呢?

// create the order object
$order = wc_get_order( $order_id );
// retrieve the items associated with that order
$order_items = $order->get_items();
// dump the array of returned  items
var_dump($order_items);

如果我理解你的问题,这就是你需要的:

$sql = "SELECT * FROM wp_posts "
    . " INNER JOIN wp_postmeta ON wp_posts.id = wp_postmeta.post_id"
    . " WHERE wp_posts.ID = " . $postId;

然后查看wp_postmeta键。

正如您所说,订单存储为帖子。

对于产品,你必须继续wp_woocommerce_order_items和wp_woocommerce_order_itemmeta

有一个连接的例子

inner join wp_woocommerce_order_items as woi on ( woi.order_id = posts.ID )
inner join wp_woocommerce_order_itemmeta as woim on ( woim.order_item_id = woi.order_item_id )