WooCommerce - get_order() 不工作

WooCommerce - get_order() is not working

我正在尝试创建一个函数,该函数将通过订单 ID 检索订单。出于某种原因,我无法使用 WooCommerce 全局函数 get_order。我正在将有效订单 id 传递给该函数并尝试将其打印出来以验证它是否正常工作。该函数已放在我的 functions.php 文件中。

function getWC_order_details($id){
    global $woocommerce;

    $order = get_order( $id );

    print "<pre>";
    print_r($order);
    print "</pre>";
}

我已经测试过从函数中回显其他数据没有问题。

尝试 this.It 可能对您有用。

function getWC_order_details($id)
{
 $array = WC_API_Orders::get_order( $id, $fields );
 print "<pre>";
 print_r($order);
 print "</pre>";
}

来源: 文件名:woocommerce/includes/api/class-wc-api-orders.php

首先像这样创建函数:

function getWC_order_details($order_id) { 
    $order = new WC_Order( $order_id );
    var_dump($order);
}

之后,将它与一些 woo_commerce actionfilter.

一起使用
function use_after_cart_table(){
    getWC_order_details(40);
}
add_action( 'woocommerce_after_cart_table', 'use_after_cart_table' );

因此,将任何产品添加到购物车后,您将在购物车 table 后看到一个 数组 包含所有详细信息。

注意 :您可以使用任何其他操作或过滤器,您可以找到它们 here.

已编辑:

function getWC_order_details($order_id) { 
    $order = new WC_Order( $order_id );
    //var_dump($order);
    $order_shipping_total = $order->get_shipping();
    $order_shipping_method = $order->get_shipping_methods();
    var_dump($order_shipping_total);//Use it for debugging purpose or to see details in that array
    var_dump($order_shipping_method);//Use it for debugging purpose or to see details in that array

    $_order =   $order->get_items(); //to get info about product
    foreach($_order as $order_product_detail){
        //var_dump($order_product_detail);
        echo "<b>Product ID:</b> ".$order_product_detail['product_id']."<br>";
        echo "<b>Product Name:</b> ".$order_product_detail['name']."<br><br>";
    }
    //var_dump($_order);
}