WP-Cli wc product create 自定义属性

WP-Cli wc product create Custom attributes

美好的一天,

我正在使用 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"]]'

您需要将 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 传递。

Some 'lists' are objects, for example, if you want to set categories for a product the REST API expects an array of objects: https://woocommerce.github.io/woocommerce-rest-api-docs/#product-properties

此参考使用 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

大多数时候终端没有正确格式化,有时它会跳过,有时不格式化 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是其对应的术语。