我正在尝试创建一个函数,该函数将根据订单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>";
}
我已经测试过将其他数据从函数中回显而没有问题。
首先,使函数如下:
function getWC_order_details($order_id) {
$order = new WC_Order( $order_id );
var_dump($order);
}
之后,将其与一些woo_commerce
操作或过滤器一起使用。
function use_after_cart_table(){
getWC_order_details(40);
}
add_action( 'woocommerce_after_cart_table', 'use_after_cart_table' );
因此,在将任何产品添加到购物车后,您将在购物车表后看到有一个数组包含所有详细信息。
注意:您可以使用任何其他操作或过滤器,您可以在此处找到它们。
编辑:
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);
}
试试这个。它可能对你有用。
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