【问题标题】:How to retrieve Shipping Method of an Order in WooCommerce?如何在 WooCommerce 中检索订单的运输方式?
【发布时间】:2019-12-18 01:25:47
【问题描述】:

我正在使用 WooCommerce 在 Wordpress 上开发电子商务网站。我想在订单确认页面(即付款后)检索并显示客户在结帐时选择的“运送方式”(即送货或取货等)。

我正在尝试使用get_post_meta($post_id, $key, $single) 函数来做到这一点。我无法这样做,因为我不知道 $key 值。

我尝试了以下代码(在 php 标签内):

echo get_post_meta( $order_id, 'shipping_method', true );

但它返回一个空白值(页面上没有显示)。我假设我使用了不正确的$key

我愿意接受使用其他(更简单)方法来实现这一目标的建议。

【问题讨论】:

    标签: php wordpress woocommerce orders shipping-method


    【解决方案1】:

    从 WooCommerce 3 开始,如果你想获得运输格式的方法标题,你可以更好地使用 WC_Order 方法 get_shipping_method() 喜欢:

    // Get the WC_Order object from the Order ID
    $order = wc_get_order( $order_id );
    
    // Output the shipping method(s) formatted method title(s)
    echo $order->get_shipping_method();
    

    有关其他运输项目的详细信息,请参阅以下主题:

    【讨论】:

    • 谢谢。您建议的方法效果很好,我会同意的。使用 implode() 函数时出错;所以只是忽略了它。还有一件事,我可以使用 WC_Order 方法在结帐中检索自定义字段的值(我另外添加到结帐表单中)吗?
    • 即使更新的代码(在第一个选项中)也不起作用。我尝试了一些方法来检查命令流。它确实在“else”块中执行了“echo”命令,但 $shipping_method 中没有可显示的值。这表明 get_post_meta() 函数没有捕获 $shipping_method 中的任何值,可能是因为键 (_shipping_method) 不是正确的。
    • @M.Khan 所以使用第二种方法,这是自 WooCommerce 3 以来最好的方法。
    猜你喜欢
    • 2014-09-25
    • 2019-02-03
    • 2014-11-25
    • 1970-01-01
    • 2019-08-04
    • 2018-04-27
    • 2021-02-12
    • 2022-01-20
    • 2020-08-31
    相关资源
    最近更新 更多