【问题标题】:Which is the correlation between an ORDER and the USER who bought in WooCommerce/WordPress database这是订单和在 WooCommerce/WordPress 数据库中购买的用户之间的相关性
【发布时间】:2016-04-08 08:25:22
【问题描述】:

我需要知道用户是否购买了 WooCommerce 产品。如果有可能他做了多少订单。

所以我检查了 WordPress 数据库,并找到了“wp_woocommerce_order_items”表。

在这里我可以找到这些数据

order_item_id 字段用于将此表与产品元数据连接起来。我没有找到 order_id 的原因。

而且我不明白如何找到下订单的用户。

正如您在第二张图片(wp_usermeta 表)中看到的那样,我没有一个与订单表相同的字段。

那么加入这2个表的常用字段是什么?

我只需要包含此信息/值的字段名称。

给帮助我的人一个虚拟的拥抱!

【问题讨论】:

  • 你有另一个表链接用户和订单吗?你能至少给我们看看你的桌子清单吗?
  • 谢谢,如果您仍然好奇,我会发布我自己的答案! :)

标签: mysql database wordpress woocommerce


【解决方案1】:

我刚刚为我自己的问题找到了解决方案!感谢所有回答我的人,你们都帮我找到了解决方案!

我不知道 WooCommerce 如何保存订单。

我刚刚发现订单是使用名为 shop_order 的 post_type 保存的。

所以基本上我在 wp_postmeta 的 shop_order 元数据中找到了用户 ID!

这里是我执行的 SQL 查询的一些屏幕:

SELECT * FROM wp_posts WHERE post_type = 'shop_order'

SELECT * FROM wp_postmeta WHERE post_id = 1949

谢谢大家!!

【讨论】:

    【解决方案2】:

    试试这个

    $customer_orders = get_posts( 
        array(
            'numberposts' => $order_count,
            'meta_key'    => '_customer_user',
            'meta_value'  => get_current_user_id(),
            'post_type'   => wc_get_order_types( 'view-orders' ),
            'post_status' => array_keys( wc_get_order_statuses() )
        )
    );
    

    这基本上来自模板文件my-orders。 (woocommerce/templates/myaccount/my-orders.php)。您可以根据您的要求自定义此代码。这可以让您为客户下订单。您需要将 get_current_user_id() 更改为所需的客户用户 ID。

    希望这会有所帮助。

    【讨论】:

    • 是的,这对我有帮助!我不知道 WooCommerce 如何保存订单。现在我发现订单是使用名为 shop_order 的 post_type 保存的。所以基本上我在 wp_postmeta 的 shop_order 元数据中找到了用户 ID!
    猜你喜欢
    • 1970-01-01
    • 2020-01-17
    • 1970-01-01
    • 1970-01-01
    • 2019-06-19
    • 2019-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多