使用php从数据库获取Woocommerce最后的订单ID

问题描述 投票:-6回答:1

在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())); ?>

但它不起作用,因为我得到零值。

目的是在最后一个订单ID中添加1,以获取新的可用订单ID。

任何帮助表示赞赏。

php database wordpress woocommerce orders
1个回答
0
投票

您似乎希望获得下一个可用的POST ID(订单ID),以便将其保存为例如数据库中包含一些相关数据的新订单。

这绝对不是这样做的方式,你需要认为它不同......现在你可以使用以下三种方法之一:

  1. 使用返回帖子ID(订单ID)的WordPress专用函数wp_insert_post()
  2. 使用Woocommerce专用函数wc_create_order()返回WC_Order对象。 然后从订单对象中,您可以使用$order->get_id()获取订单ID。
  3. 使用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
?>

经过测试和工作

© www.soinside.com 2019 - 2024. All rights reserved.