WooCommerce.NET 添加产品 category/subcategory

WooCommerce.NET add product with category/subcategory

我正在寻找一些 "inspiration",了解如何将产品添加到我的 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();

但是当我只有一个类别名称时,如何将此产品添加到类别中?

另一个问题是我有一个类别结构,其中许多子类别具有相同的名称。

示例:

main category: MALE sub categories: shoes, t-shirts, underwear, accessories

main category: FEMALE sub categories: shoes, t-shirts, underwear, accessories

main category: CHILDREN sub categories: shoes, t-shirts, underwear

我正在通过 CSV 导入产品数据库,我在其中命名了类别:

CATEGORY>SUBCATEGORY

所以呢?有什么想法吗?

谢谢!

编辑: 从 Matthias S. 的回答中,我得到了一些很好的见解。但我需要一个更通用的解决方案。 我只需要从类别名称中获取正确的类别 ID。 我在循环的方向上思考,我会: 1.循环:按名称查找顶级类别 -2。循环:按名称查找第一个子类别 --3.循环:按名称查找下一个子类别 ---- ... 那可能吗?

谢谢!

类别不仅仅是 WC 的名称。您需要在商店内创建与输入端相同的类别树。因此,WC 类别具有唯一 ID、显示名称和父 ID。

对于您给出的示例,您可以通过 api

创建男性类别
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 等于您的男性类别 ID。