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

我找到了方法

$order->get_shipping_method() 

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

【问题讨论】:

    标签: wordpress woocommerce shipping


    【解决方案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)。
    猜你喜欢
    • 2020-05-08
    • 2019-12-18
    • 2014-09-25
    • 2019-02-03
    • 1970-01-01
    • 2018-04-27
    • 2017-07-02
    • 2014-11-18
    • 2017-10-11
    相关资源
    最近更新 更多