通过Woocommerce Rest Api创建包含自定义字段的产品

时间:2017-12-24 17:56:29

标签: php wordpress woocommerce custom-fields woocommerce-rest-api

我正在通过Woocommerce Rest Api v2添加产品。但是我无法通过Api添加自定义字段。

请告诉我最好的方法。

json的回应:

$data = array(
   // 'product' => array(
        'id' => 8555,
        'title' => 'Notebook',
        'type' => 'simple',
        'product_id' => 8555,
        'regular_price' => '21.99',
        'description' => 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.',
        'short_description' => 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.',
        'categories' => array("General"),
        'product_meta' => array(
            'custom_products_key' => 'custom_product_value',

            )
);

product_meta无效...

1 个答案:

答案 0 :(得分:3)

您通常应将'product_meta'替换为'meta_data',并将密钥与值分开。

例如,这会为您的产品添加2个自定义字段:

    'meta_data' => [
        [
            'key' => 'custom_key'
            'value' => 'custom_value'
        ]
        [
            'key' => 'custom_key2'
            'value' => 'custom_value2'
        ]
    ]

要使用最新的Woocommerce Rest API v2(使用PHP)创建产品,请在以下设置好的类别ID:

$data = [
    'name' => 'Notebook',
    'type' => 'simple',
    'regular_price' => '21.99',
    'description' => 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.',
    'short_description' => 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.',
    'categories' => [
        [
            'id' => 9
        ]
    ],
    'meta_data' => [
        [
            'key' => 'custom_key'
            'value' => 'custom_value'
        ]
        [
            'key' => 'custom_key2'
            'value' => 'custom_value2'
        ]
    ]
];

print_r($woocommerce->post('products', $data));

这应该有用。