我如何访问当前的 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 中发送特定运输方式的订单保留电子邮件