我如何访问当前的 woocommerce 订单运输方式 ID?

Posted

技术标签:

【中文标题】我如何访问当前的 woocommerce 订单运输方式 ID?【英文标题】:How can i access current woocommerce order shipping method id? 【发布时间】:2014-11-25 09:54:02 【问题描述】:

我找到了方法

$order->get_shipping_method() 

要访问名称,但我想检索 id 而不是名称?

【问题讨论】:

【参考方案1】:
$shipping_method = @array_shift($order->get_shipping_methods());
$shipping_method_id = $shipping_method['method_id'];

【讨论】:

谢谢。我 print_r($shipping_method) ,并改用 'method_title' 因为那是我需要的。在我看到你的 array_shift 之前,我在这里的索引搞砸了。 为什么要用“@”和array_shift函数? @ZecKa 我认为这是复制粘贴。但通常运输方式可以为空。【参考方案2】:

如果有人遇到和我一样的问题,我想分享一下我是如何解决这个问题的。我在 $order 变量中有 WC_Order。

$order->get_items( 'shipping' );

这给了我一个包含名称、类型、method_id、成本和税金的数组。

【讨论】:

嘿,你是怎么想出来的?这是否记录在某处? 你是如何只获取method_id的? $order = new WC_Order( $order_id );inside 你的方法,希望对你有帮助。 reset( $order->get_items( 'shipping' ) )->get_method_id(); 可以解决问题,如果您只需要获取 id。 get_items() 为您提供运输物品的关联数组。 reset() 获取此数组的第一项,即WC_Order_Item_Shipping。最后get_method_id() 得到 id(例如local_pickup:42)。

以上是关于我如何访问当前的 woocommerce 订单运输方式 ID?的主要内容,如果未能解决你的问题,请参考以下文章

根据不同的运输方式更改 Woocommerce 订单状态

在 Woocommerce 中发送特定运输方式的订单保留电子邮件

WooCommerce:根据运输方式自动完成已付款订单

添加更新或删除 WooCommerce 运输订单项目

如何将我的运输信息添加到 WooCommerce (Wordpress) 中的“谢谢”页面

根据 Woocommerce 中的运输姓氏按字母顺序对订单 ID 进行排序