如何在 Woocommerce 中获取最新的订单 ID

Posted

技术标签:

【中文标题】如何在 Woocommerce 中获取最新的订单 ID【英文标题】:How can I get the latest order id in Woocommerce 【发布时间】:2018-03-23 04:09:56 【问题描述】:

在 Woocommerce 中,我正在尝试获取最新的订单 ID。我试过这个:

global $post;
$order_id = $post->ID;

$order = new WC_Order($order_id);
$order_details = $order->get_data();

但它没有用。

如何在woocommerce中获取最新的订单ID?

【问题讨论】:

【参考方案1】:

这是一个自定义函数,它将返回最后一个订单 ID:

function get_last_order_id()
    global $wpdb;
    $statuses = array_keys(wc_get_order_statuses());
    $statuses = implode( "','", $statuses );

    // Getting last Order ID (max value)
    $results = $wpdb->get_col( "
        SELECT MAX(ID) FROM $wpdb->prefixposts
        WHERE post_type LIKE 'shop_order'
        AND post_status IN ('$statuses')
    " );
    return reset($results);

代码进入您的活动子主题(活动主题或任何插件文件)的 function.php 文件中。


用法 (示例)

$latest_order_id = get_last_order_id(); // Last order ID
$order = wc_get_order( $latest_order_id ); // Get an instance of the WC_Order oject
$order_details = $order->get_data(); // Get the order data in an array

// Raw output test
echo '<pre>'; print_r( $order_details ); echo '</pre>';

经过测试和工作。

【讨论】:

你好 Loic 。结果是针对客户还是会考虑所有订单? @LatheeshVMVilla 不,对于客户,我认为 SQL 查询需要有所不同……但您可以使用 wc_get_orders 来做到这一点

以上是关于如何在 Woocommerce 中获取最新的订单 ID的主要内容,如果未能解决你的问题,请参考以下文章

如何在 WooCommerce 中获取用户的活动订单 ID 和订单状态 [重复]

如何在 WooCommerce 中获取订单日期?

如何从当前订单中获取 WooCommerce 订单 ID?

如何在 wordpress/woocommerce 中获取所有订单详细信息? [复制]

如何获取 woocommerce 订单的订单 ID 以在 functions.php 中的函数中使用?

如何从 WooCommerce 中的订单密钥中获取订单 ID?