首页 > 解决方案 > 如何在 Wordpress 中获取用户的订单?

问题描述

Wordpress 版本 5.3.2 Woocommerce 版本 3.8.1

实现向用户显示他购买的订单以及order_items(订单中的产品)

我试过的

看到了如何获取 WooCommerce 订单详细信息在 Woocommerce 电子邮件中获取一些订单和订单商品数据https://github.com/woocommerce/woocommerce/wiki/wc_get_orders-and-WC_Order_Query

仍然无法解决我的问题。

我面临的错误

致命错误:未捕获的错误:调用数组上的成员函数 get_id()

代码

//got the user
$user = wp_get_current_user();
//In my case $user->ID returns 1

$args = array(
    'customer_id' => $user->ID,
    'status' => 'confirmed',
);
//Since i only want the confirmed orders
$order= wc_get_orders( $args );
$order_id  = $order->get_id();

标签: wordpress

解决方案


在接受了解决方案之后,我更加挣扎了。最初我得到了一个完整的订单数组,在遍历该数组后,我找到了我想要的东西。

    $user = wp_get_current_user();
    $args = array(
    //'customer_id' => $user->ID
    'customer_id' => 6
);
    $orders = wc_get_orders($args);
    foreach($orders as $order){
        $order_id  = $order->get_id();        
        echo $order_id . "<br/>";
    }

这个 foreach 允许访问我需要的 order_id。


推荐阅读