Php WooCommerce自定义报告:获取状态为“已完成”的订单

Php WooCommerce自定义报告:获取状态为“已完成”的订单,php,wordpress,methods,woocommerce,orders,Php,Wordpress,Methods,Woocommerce,Orders,我正在为woocommerce制作自定义报告我正在尝试为所有已交付的订单添加一份报告这就是我所做的 $orders = wc_get_orders( array('numberposts' => -1) ); foreach( $orders as $order ){ if ( $order->get_status() === completed){ $order_data = $order->get_data(); // The

我正在为woocommerce制作自定义报告我正在尝试为所有已交付的订单添加一份报告这就是我所做的

        $orders = wc_get_orders( array('numberposts' => -1) );
    foreach( $orders as $order ){
    if ( $order->get_status() === completed){
        $order_data = $order->get_data(); // The Order data
        $items = $order->get_items();
        foreach ( $items as $item ) {
            $product_name = $item->get_name();
            $product_id = $item->get_product_id();
        }
        $orders_completed .=  '<tr><td>' . $order->get_order_number() . '</td>' .
        '<td>' . $order->get_date_created()->date('Y-m-d H:i:s') . '</td>' .
        '<td>' . $order->get_status() . '</td>' .
        '<td>' . $order->get_total() . '</td>' .
        '<td>' . $product_id . '</td>' .
        '<td>' . $product_name . '</td>' .
        '<td>' . $order->get_item_count() . '</td>' .
        '<td>' . $order->get_billing_first_name() . '</td>' .
        '<td>' . $order->get_billing_email() . '</td>' .
        '<td>' . $order->get_billing_phone() . '</td>' .
        '<td>' . $order_payment_method = $order_data['payment_method_title'] . '</td></tr>';
    }
}
$orders=wc\u get\u orders(数组('numberposts'=>-1));
foreach($orders作为$order){
如果($order->get_status()==已完成){
$order\u data=$order->get\u data();//订单数据
$items=$order->get_items();
foreach($items作为$item){
$product_name=$item->get_name();
$product_id=$item->get_product_id();
}
$orders\u completed.=''.$order->get\u order\u number()。
'.$order->get_date_created()->date('Y-m-d H:i:s')。'。
'.$order->get_status()。
'.$order->get_total()。
“.$product_id.”。
“.$product_name.”。
'.$order->get_item_count()。
'.$order->get_billing_first_name()。
'.$order->get_billing_email()。
'.$order->get_billing_phone()。
'.$order_payment_method=$order_data['payment_method_title'.];
}
}
我明白了

调用未定义的方法WC_Admin_Order_return::get_Order_number()


我不知道我做错了什么

你只需要针对“购物订单”帖子类型,没有“购物订单退款”在你的
购物订单查询中发布类型
,因为一些
购物订单
方法不存在于
购物订单退款

因此,您可以将代码的第一行替换为:

$orders = wc_get_orders( array('limit' => -1, 'type' => 'shop_order') );
这应该可以解决这个问题


请看

我很高兴您能在线:D问题总是解决了,非常感谢