Woocommerce-获取结账时自定义字段的值

mad*_*noo 0 php wordpress checkout orders woocommerce

我有一个灵活的问题,但没有得到任何答案。我在 Woocommerce 结帐字段中使用“结帐字段编辑器”添加了自定义字段。该字段如下所示,似乎工作正常。

 <input class="input-text " name="wc_order_field_7542" id="wc_order_field_7542" placeholder="Pickup Date" value="" type="text">
Run Code Online (Sandbox Code Playgroud)

然而,现在我正在开发一个插件,想要获取在这个特定字段中输入的值,但似乎无法弄清楚。对于其他字段,我只需执行以下操作,就像我为“计费电子邮件”所做的那样,并且它正在工作:

public function get_billing_email() {
        $billing_email = $this->order->billing_email;
        return apply_filters( 'xc_woo_cloud_print_billing_email', $billing_email, $this );
    }
public function billing_email() {
    echo $this->get_billing_email();
}
Run Code Online (Sandbox Code Playgroud)

我确信我忘记了一些事情并且没有做正确的事情。

任何帮助表示赞赏。

Loi*_*tec 5

对于插件中的自定义字段(似乎$this->order是对象的实例)WC_Order,您将尝试使用它$this->order->get_id()来获取订单 ID。

现在您可以尝试使用 WordPressget_post_meta()来获取自定义字段值,如下所示:

$pickup_date = get_post_meta( $this->order->get_id(), 'wc_order_field_7542', true );`
Run Code Online (Sandbox Code Playgroud)

但请检查wp_postmeta数据库表中meta_key 'wc_order_field_7542'是否存在您的订单。如果不是这种情况,您将必须找出meta_key处理取货日期数据的正确方法......