猿问

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

我正在为 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>';

    }

}

我明白了


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


我不知道我做错了什么


慕码人8056858
浏览 177回答 1
1回答

吃鸡游戏

你需要的目标只是“shop_order”支柱式,没有“shop_order_refund”后输入你的WC_Order_Query,因为一些WC_Order方法不适用于存在WC_Order_Refund。因此,您可以通过以下方式替换代码的第一行:$orders&nbsp;=&nbsp;wc_get_orders(&nbsp;array('limit'&nbsp;=>&nbsp;-1,&nbsp;'type'&nbsp;=>&nbsp;'shop_order')&nbsp;);这应该可以解决这个问题。
随时随地看视频慕课网APP
我要回答