如何在WooCommerce中检索订单ID?
答案 0 :(得分:25)
这是一个相当古老的问题,但有人可能会来这里寻找答案:
echo $order->id;
这应该返回没有“#”的订单ID。
编辑(feb / 2018)
目前实现这一目标的方法是使用:
$order->get_id();
答案 1 :(得分:24)
它奏效了。刚刚修改了它
global $woocommerce, $post;
$order = new WC_Order($post->ID);
//to escape # from order id
$order_id = trim(str_replace('#', '', $order->get_order_number()));
答案 2 :(得分:10)
我没有测试它,也不知道你需要它,但是:
$order = new WC_Order(post->ID);
echo $order->get_order_number();
让我知道它是否有效。 我相信订单号与“#”相呼应,但如果只需要数字,你就可以拆分。
答案 3 :(得分:3)
$order = new WC_Order( $post_id );
如果你
echo $order->id;
然后您将返回订单发布的帖子的ID。正如你已经拥有的那样,它可能不是你想要的。
echo $order->get_order_number();
将返回订单的ID(前面带有#)。摆脱#,
echo trim( str_replace( '#', '', $order->get_order_number() ) );
根据接受的答案。
答案 4 :(得分:0)
从woocommerce 3.0开始
$order->id;
不起作用,会产生通知,使用getter函数:
$order->get_id();
这同样适用于其他的woocommerce对象,如procut。