在Woocommerce中,我正在尝试使用以下代码获取最后一个订单ID:
<?php $order = new WC_Order($post->ID);echo $order->id;//to escape # from order id $order_id = trim(str_replace('#', '', $order->get_order_number())); ?>
但它不起作用,因为我得到一个零值。
目的是将 1 添加到此最后一个订单 ID,以获取新的可用订单 ID。
任何帮助,不胜感激。
您似乎希望获取下一个可用的POSTID(订单 ID),以将其保存为数据库中包含一些相关数据的新订单。
这绝对不是这样做的方法,你需要以不同的方式思考......现在,您可以使用以下 3 种方式之一:
-
使用返回帖子ID(订单ID)的WordPress专用函数
wp_insert_post()
。 -
使用 WooCommerce 专用函数
wc_create_order()
返回WC_Order
对象。然后,从订单对象中,您可以使用
$order->get_id()
获取订单 ID。 -
使用 WooCommerce 空
WC_Order
对象实例和save()
方法:// Get an empty instance of the `WC_Order` Object $order = new WC_Order(); // Save the order to the database $order->save(); // Get the Order ID $order_id = $order->get_id();
添加- 在Woocommerce中获取最后一个订单ID:
要在 wooCommerce 中获取和显示最后一个订单 ID,请使用以下两个简单行中的WC_Order_Query
:
<?php
$last_order_id = wc_get_orders(array('limit' => 1, 'return' => 'ids')); // Get last Order ID (array)
echo (string) reset($last_order_id); // Displaying last order ID
?>
经过测试和工作