WooCommerce.NET添加具有类别/子类别的产品

问题描述 投票:0回答:1

我正在寻找有关如何在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。循环:按名称查找下一个子类别---- ...甚至有可能吗?

谢谢!

c# woocommerce-rest-api
1个回答
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。

© www.soinside.com 2019 - 2024. All rights reserved.