Php 如何从现有的foreach循环中获取订单费用,并将其用作WooCommerce中的参数

Php 如何从现有的foreach循环中获取订单费用,并将其用作WooCommerce中的参数,php,wordpress,woocommerce,orders,fee,Php,Wordpress,Woocommerce,Orders,Fee,既然我已经有权访问订单ID和订单列表,我如何从每个订单中访问每个订单费用 我有以下内容,但是我在现有代码中插入它的位置和方式,允许我将其添加为$orderList索引 foreach( $orderID->get_items('fee') as $item_id => $item_fee ){ // fee name $fee_name = $item_fee->get_name(); // fee total amount $fee_tot

既然我已经有权访问订单ID和订单列表,我如何从每个订单中访问每个订单费用

我有以下内容,但是我在现有代码中插入它的位置和方式,允许我将其添加为
$orderList
索引

foreach( $orderID->get_items('fee') as $item_id => $item_fee ){

    // fee name
    $fee_name = $item_fee->get_name();

    // fee total amount
    $fee_total = $item_fee->get_total();

    // fee total tax amount
    $fee_total_tax = $item_fee->get_total_tax();
}
我需要能够使用上面的代码和下面的代码。

function GetOrderList() {

    $query = new WC_Order_Query( array(
    'limit' => 100,
    'orderby' => 'date',
    'order' => 'DESC',
    'return' => 'ids',
    ) );

    $orders = $query->get_orders();

    $orderList = array();

        $index = 0;

        foreach ( $orders as $orderID ) {
            
            $order = new WC_Order($orderID);
            
            $order_data = $order->get_data();
            
            $orderList[$index]['order_id'] = $orderID;
            $orderList[$index]['name'] = $order->get_billing_first_name().' '.$order->get_billing_last_name();
            $orderList[$index]['email'] = $order->get_billing_email();
            $orderList[$index]['phone'] = $order->get_billing_phone();
            $orderList[$index]['note'] = $order->get_customer_note();
            $orderList[$index]['order_status'] = $order->get_status();
            $orderList[$index]['total_price'] = $order->get_total();
            // how do I get this to work?
            $orderList[$index]['fee'] = $order->$fee_total;
        
            $index++;
        }

    return $orderList;
}

我稍微修改了你的代码

要将从自定义函数返回的费用数据添加到阵列中,您可以使用:

函数get\u order\u list(){
//按日期降序获取100个最近的订单对象。
$orders=wc\u get\u订单(数组(
“限制”=>100,
'orderby'=>'date',
“订单”=>“描述”,
'返回'=>'对象',
));
$order_list=array();
$index=0;
//不空
如果(sizeof($orders)>0){
//遍历每个顺序
foreach($orders作为$order){
//获取订单详细信息
$order\u list[$index]['order\u id']=$order->get\u id();
$order\u list[$index]['name']=$order->get\u billing\u first\u name()。$order->get\u billing\u last\u name();
$order_list[$index]['email']=$order->get_billing_email();
$order_list[$index]['phone']=$order->get_billing_phone();
$order_list[$index]['note']=$order->get_customer_note();
$order\u list[$index]['order\u status']=$order->get\u status();
$order\u list[$index]['total\u price']=$order->get\u total();
$indexx=0;
//遍历订单费用项目
foreach($order->get_items('fee')作为$item_id=>$item_fee){
//费用名称
$order\u list[$index][$indexx]['item\u fee\u name']=$item\u fee->get\u name();
//费用总额
$order\u list[$index][$indexx]['item\u fee\u amount']=$item\u fee->get\u total();
//费用总税额
$order\u list[$index][$indexx]['item\u fee\u total\u tax']=$item\u fee->get\u total\u tax();
$indexx++;
}
$index++;
}
}
返回$order_列表;
}

结果:

$result=get_order_list();
回显“”,打印($result,1),“”;