WP-Cli wc产品创建自定义属性

时间:2019-11-28 08:35:25

标签: wordpress woocommerce wp-cli

美好的一天,

我正在使用wp-cli将产品添加到Wordpress,例如,我使用了以下产品:

wp --allow-root wc product create --user=1 --name="Restricted" --regular_price=1 

我确实有一些名为test_1的属性(是的复选框),而test_2是多选的。但是有没有办法填充这些属性?

我确实尝试过:

wp wc product create --user=1 --name="Restricted" --regular_price=1 --test_1=yes --test_2=testvalue,testvalue2

但这确实导致错误:

Error: Parameter errors:
 unknown --test_1 parameter
 unknown --test_2 parameter

做了这个,但是值仍然是空的:

 wp wc product create --user=1 --name="Restricted" --regular_price=1 --attributes='[{"test_1": "yes", "test_2": ["testvalue","testvalue2"]}]'

还有一个:

wp wc product create --user=1 --name="Restricted" --regular_price=1 --attributes='[{"test_1": 1, "test_2": ["testvalue","testvalue2"]]'

3 个答案:

答案 0 :(得分:1)

您需要将attributes指定为JSON。由于您有2个属性,因此正确的命令以及JSON结构为。

wp wc product create --name='Product Name'  --user=1 
    --attributes='[ 
        { "name": "test_1", "visible": true, "options" : ["yes", "no"] }, 
        { "name": "test_2", "visible": true, "options" : ["small", "medium"] } 
    ]'

检查第二个常见问题解答here

它说某些属性需要作为JSON传递。

  

某些“列表”是对象,例如,如果您要为产品设置类别,则REST API需要一个对象数组:https://woocommerce.github.io/woocommerce-rest-api-docs/#product-properties

答案 1 :(得分:0)

此参考使用WP-CLI创建woocommerce产品

https://github.com/woocommerce/woocommerce/wiki/WC-CLI-Overview#frequently-asked-questions

https://nicola.blog/2016/03/10/managing-products-woocommerce-cli/

https://woocommerce.github.io/woocommerce-rest-api-docs/#product-properties

if you add product Custom attributes or category through CLI than use  JSON format like this

 --attributes= [{ "name": "color", "visible": true, "options":["black","blue"]}]
 --categories= [ { "id" : category_id } ]

Example demo:-

wp wc product create --name="mobile11" --description="this is mobile 11" --type=simple --regular_price=500 --sale_price=400 --user=dharmesh --categories='[ { "id" : 35 } ]' --attributes='[{ "name": "color", "visible": true, "options":["black","blue","red"]}]' --allow-root

答案 2 :(得分:0)

大多数时候终端格式化不正确有时会跳过,有时不格式化bash变量会导致空值。这取决于您如何使用声明bash变量以及如何在woocommerce cli中使用。

我一直在寻找添加/更新产品属性的正确格式。这就是我能够为产品添加产品属性的方式。

wp wc product update 2898  --user=1  --attributes='[{ "name":"Background Style","options":"White"},{ "name":"Demographic Level","options":"college-university"}]'

在哪里

product_id为2898 属性是“背景样式”,“人口统计级别”和options是其对应的术语。