我正在寻找有关如何在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();
但是当我只有类别名称时,如何将该产品添加到类别中?
另外的问题是,我有一个类别结构,其中许多子类别具有相同的名称。
示例:
[主要类别:男性]子类别:鞋子,T恤,内衣,配件
主要类别:FEMALE子类别:鞋子,T恤,内衣,配件
主要类别:儿童子类别:鞋子,T恤,内衣
我正在通过CSV导入产品数据库,在此我将类别命名为:
CATEGORY> SUBCATEGORY
所以?有任何想法吗?
谢谢!
编辑:从Matthias S.的答案中,我得到了一些很好的见解。但是我需要一个更通用的解决方案。我只需要从类别名称中获取正确的类别ID。我在想一个循环的方向,我会:1.循环:按名称查找顶级类别-2。循环:按名称查找冷杉子类别--3。循环:按名称查找下一个子类别---- ...甚至有可能吗?
谢谢!
类别不仅仅是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。