WooCommerce REST API 自定义字段

WooCommerce REST API Custom Fields

是否可以通过 WooCommerce REST API 访问订单、产品、客户的自定义字段?如果不是本机的,那么有哪些插件、变通方法或 hack 可以正常工作?谢谢!

如 WooCommerce 通过 API 创建订单后的评论中所述,它将触发 woocommerce_api_create_order 挂钩,您可以使用它。

将以下代码添加到您主题的 functions.php 文件

add_action( 'woocommerce_api_create_order', 'my_woocommerce_api_create_order', 10, 2);

function my_woocommerce_api_create_order( $order_id, $data ) {

     // $data contains the data was posted, add code to extract the required
     // fields and process it as required

}

同样查看plugins/woocommerce/includes/api/*.php个文件中的代码,找到适合端点的action或filter hook并使用。

回答我自己的问题:

可以使用以下方法:(使用旧版 v3 API)

要将自定义字段发送回服务器: (对于订单)

{
  "order_meta": {
     "key": "value"
  }
}

要从服务器检索自定义字段,请将此过滤器与您的终点一起使用:

http://www.example.com/wc-api/v3/orders?filter[meta]=true

这也适用于产品。

对我有用的简单解决方案(使用 REST API REQUEST):

  • URL: https:///wp-json/wc/v3/orders/1234

  • 方法: PUT

  • BODY:

    {
      "status": "completed",
      "meta_data": [{
        "key": "is_web_server_handled",
        "value": "1"
      }]
    }