我正在寻找有关如何在WC商店中添加产品的“灵感”。
我可以添加一个简单的产品:
Product prod = new Product()
{
sku = SKU,
name = Name,
description = Description,
regular_price = Price,
manage_stock = true,
stock_quantity = quantity,
};
wc.Product.Add(prod).GetAwaiter().GetResult();
但是,当我只有类别名称时,如何将该产品添加到类别中?
另一个问题是我有一个类别结构,其中许多子类别具有相同的名称。
示例:
主要类别:MALE子类别:鞋子,T恤,内衣, 配件
主要类别:FEMALE子类别:鞋子,T恤,内衣, 配件
主要类别:儿童子类别:鞋子,T恤,内衣
我正在通过CSV导入产品数据库,在其中我将该类别命名为:
CATEGORY> SUBCATEGORY
是吗?有任何想法吗?
谢谢!
编辑: 从Matthias S.的回答中,我得到了一些很好的见解。但是我需要一个更通用的解决方案。 我只需要从类别名称中获取正确的类别ID。 我在想循环的方向,我会: 1.循环:按名称查找顶级类别 -2。循环:按名称查找冷杉子类别 --3。循环:按名称查找下一个子类别 ---- ... 甚至有可能吗?
谢谢!
答案 0 :(得分:0)
类别不仅仅是WC的名称。您需要在商店内部创建与输入侧相同的类别树。因此,WC类别具有唯一的ID,显示名称和父母ID。
对于给定的示例,您可以通过api创建MALE类别
ProductCategory newCategoryMale = new ProductCategory
{
name = "MALE"
};
ProductCategory maleCategory = await wooCommerce.Category.Add(newCategoryMale)
,返回的类别将具有一个ID,您可以将其用于创建子类别。
ProductCategory newCategoryShoes = new ProductCategory
{
name = "shoes",
parent = maleCategory.id
};
ProductCategory shoes = await wooCommerce.Category.Add(newCategoryShoes)
现在您已经有了类别树结构以及相关的ID,就可以直接使用指定的类别来创建产品。
Product prod = new Product()
{
sku = SKU,
name = Name,
description = Description,
regular_price = Price,
manage_stock = true,
stock_quantity = quantity,
categories = new List<ProductCategoryLine>
{
new ProductCategoryLine
{
id = shoes.id
}
}
};
编辑:
要获取现有类别的ID,可以使用
List<ProductCategory> existingCategories = await wooCommerce.Category.GetAll();
获取您商店中已设置的所有类别。 当寻找Male-> Shoes时,您需要在列表中搜索名为“ MALE”的根目录类别,并找到一个名为“ shoes”的类别,其中parentId等于您的male-categorys id。