如何在WooCommerce中获取用户的活动订单ID和订单状态

时间:2019-01-14 03:10:48

标签: php wordpress woocommerce

早安, 我正在尝试获取用户最近的活动订单的列表,订单ID并获取woocommerce中每个活动订单的状态,然后打印出任何订单状态的任何更新。我到处寻找线索或代码段,以帮助我实现这一目标,但找不到。

我能够获得如何计算订单数量(使用以下代码段)

$current_user = wp_get_current_user();
$numorders = wc_get_customer_order_count( $current_user->ID );

在各种博客上搜索后,我能够做到这一点;

$order = wc_get_order( $order_id );    
$order->get_status()

我真的不知道如何将其组合起来以打印出所需的结果(即拥有用户最近订购的任何通知更新的列表。

目标是创建类似于小型订单通知系统的系统,其结果将如下所示;

您的订单通知

=>您的ID为#24555的订单已完成-15-01-2019
=>您的ID为#24234的订单正在完成-2019年1月13日
=>您的ID为24555的订单已发货-10-01-2019
=>您的ID为24234的订单已发货-10-01-2019
=>您的ID为#12324的订单正在处理中-09-01-2019

[最多10条通知]

谢谢

1 个答案:

答案 0 :(得分:0)

  1. 获得客户的所有订单,如下所示:

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

  2. 浏览所有订单并检查每个订单的状态,如下所示:

    $order->get_status( )

  3. 根据需要打印出ID,状态和日期