【问题标题】:How can I find the product a customer ordered in a WooCommerce database?如何在 WooCommerce 数据库中找到客户订购的产品?
【发布时间】:2015-01-19 16:37:07
【问题描述】:

我知道订单位于 wp_posts 表中,post_type 为 shop_order。 wp_postmeta 表包含有关每个订单的信息,例如名称、地址、状态等。但是,我缺少的是用户订购的商品。

我在数据库中找不到什么关系来提取该信息。

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

【问题讨论】:

  • 我在 wp_woocommerce_order_items 表中找到了它,并附有订单的 ID 作为最后一个值。

标签: php mysql database wordpress woocommerce


【解决方案1】:

为什么不让 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);

【讨论】:

    【解决方案2】:

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

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

    然后查看wp_postmeta 键。

    【讨论】:

      【解决方案3】:

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

      对于产品,您必须继续使用 wp_woocommerce_order_items 和 wp_woocommerce_order_itemmeta

      有一个join的例子

      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 )
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多