WooCommerce 自定义报告:获取已完成状态的订单 [英] WooCommerce custom report: Get orders with completed status

查看:47
本文介绍了WooCommerce 自定义报告:获取已完成状态的订单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

im making a custom reports for woocommerce im trying to add a report for all delivered orders here is what im doing

        $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>';
    }
}

我明白了

调用未定义的方法 WC_Admin_Order_Refund::get_order_number()

Call to undefined method WC_Admin_Order_Refund::get_order_number()

我不知道我做错了什么

推荐答案

您只需要定位 "shop_order" 帖子类型,没有shop_order_refund" 帖子类型WC_Order_Query,因为对于 WC_Order_Refund,某些 WC_Order 方法不存在.

You need to target only "shop_order" post type, without "shop_order_refund" post type in your WC_Order_Query, because some WC_Order methods doesn't exist for WC_Order_Refund.

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

So you can replace instead the first line of your code by:

$orders = wc_get_orders( array('limit' => -1, 'type' => 'shop_order') );

这应该可以解决这个问题.

This should solve this issue.

请参阅有关wc_get_orders 和<代码>WC_Order_Query

这篇关于WooCommerce 自定义报告:获取已完成状态的订单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆