web-dev-qa-db-ja.com

WooCommerce REST APIカスタムフィールド

WooCommerce REST APIを介して、注文、製品、顧客のカスタムフィールドにアクセスすることは可能ですか?ネイティブでない場合、どのプラグイン、回避策、またはハックが機能しますか?ありがとうございます!

9
Amjad

私自身の質問に答える:

以下を使用して可能です:(v3レガシーAPIを使用)

カスタムフィールドをサーバーに送り返すには:(注文の場合)

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

サーバーからカスタムフィールドを取得するには、エンドポイントでこのフィルターを使用します。

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

これは製品でも機能します。

12
Amjad

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ファイルのコードを見て、エンドポイントに適したアクションまたはフィルターフックを見つけて使用します。

0
Anand Shah