获取最后的产品ID

时间:2019-01-15 07:39:20

标签: php wordpress woocommerce

我写了一个Python脚本来自动化添加产品的过程。该脚本扫描组织的文件夹,并将文件夹内容信息转换为CSV格式。稍后,将导入此CSV文件。一切正常。

我正在使用此设置仅导入简单(非捆绑销售)产品。现在,我正在研究捆绑产品。他们有点问题。让我详细说明。

这是预导入的CSV的样子:

sku,name,categories,images
EXP0101,"Pio Kitaplık","Aksesuarlar > Kitaplıklar","url, url, url"

SKU列是可选的。当我导入此csv / products时,产品会在系统上分配一个ID。如果我在一个站点上进行导出,则输出CSV包含ID列。当我在另一个站点上导入相同的CSV时,新系统不遵守导入中的ID。关于ID / SKU的方法有一个,但是在这种情况下它是毫无意义的,因为我没有在现有产品上进行更新:

  

☐通过ID或SKU匹配的现有产品将被更新。不存在的产品将被跳过。

简而言之,无论您是否在CSV上定义ID,系统都会为每个产品分配一个新的(递增的)ID。这是问题开始的地方。正在使用的捆绑插件是WPC Product Bundles for WooCommerce。插件将产品捆绑在一起的方式是通过ID。例如:

id,type,sku,name,categories,images,"Meta: woosb_ids"
418,woosb,EXP0118,"Çırağan Yemek Odası Takımı","Yemek Odası > Yemek Odası Takımları","url, url, url","416/1,414/1,415/1"

在导入子产品时,不会在CSV文件中为其分配ID。它们将具有不同的ID。因此,与产品(#418)"416/1,414/1,415/1"(id /数量)的关联将无效。

要解决此问题,我需要知道系统上的最后一个ID是什么。如果我知道最后一个ID,则可以修改脚本上的ID,然后从最后一个ID继续。

要获取最后一个ID,我可以在系统上获取产品,找到最后添加的产品,检查其ID,但这仅在系统上有任何产品时才有效。如果我添加100个产品,则最后一个是100。如果删除它们,然后检查最后一个ID,我将得到0,因为没有产品。

Woocommerce必须保留这些ID的内部记录。因此,当添加新产品时,它会分配一个新的递增ID。我需要知道该内部ID是什么。我如何/在哪里可以获得?

0 个答案:

没有答案