Woocommerce - 在Checkout中获取自定义字段的价值

时间:2018-02-09 07:14:30

标签: php wordpress woocommerce checkout orders

我有一个敏捷的问题,我没有得到任何答案。我使用" Checkout Field Editor"添加了一个自定义字段。在Woocommerce Checkout字段中。该字段在下面给出,似乎工作正常。

var _createClass = function() {
  function defineProperties(target, props) {
    for (var i = 0; i < props.length; i++) {
      var descriptor = props[i];
      descriptor.enumerable = descriptor.enumerable || false;
      descriptor.configurable = true;
      if ("value" in descriptor) descriptor.writable = true;
      Object.defineProperty(target, descriptor.key, descriptor);
    }
  }
  return function(Constructor, protoProps, staticProps) {
    if (protoProps) defineProperties(Constructor.prototype, protoProps);
    if (staticProps) defineProperties(Constructor, staticProps);
    return Constructor;
  };
}();

function _classCallCheck(instance, Constructor) {
  if (!(instance instanceof Constructor)) {
    throw new TypeError("Cannot call a class as a function");
  }
}

var MyClass = function() {
  function MyClass() {
    _classCallCheck(this, MyClass);

    this.myOtherMethod = function() {};
  }

  _createClass(MyClass, [{
    key: "myMethod",
    value: function myMethod() {}
  }]);

  return MyClass;
}();

但是,现在我正在开发一个插件,想要在这个特定领域输入值,似乎无法搞清楚。对于其他领域,我只是做以下事情,因为我正在为&#34;计费电子邮件&#34;它正在发挥作用:

 <input class="input-text " name="wc_order_field_7542" id="wc_order_field_7542" placeholder="Pickup Date" value="" type="text">

我确信我忘了什么,不做正确的事情。

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

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

现在,您可以尝试使用WordPress get_post_meta()来获取自定义字段值,这样:

$pickup_date = get_post_meta( $this->order->get_id(), 'wc_order_field_7542', true );`
  

但请在wp_postmeta数据库表中查看您的订单应存在的meta_key 'wc_order_field_7542'。如果不是这样,您必须找出处理取件日期数据的正确meta_key ...