如何用产品id替换sku ?



我使用来自制造商的提要上传到WooCommerce自定义字段。自定义字段需要一个产品id作为输入,但提要不知道这一点,因为它是由WooCommerce创建的。我使用SKU作为键,将现有产品与提要进行比较。

导入的字段名为{metaparent_sku[1]},内容有几个用|分隔的值,例如:Bdcd7 | bdaux | bdca1 | adup89这些是唯一的产品sku,指的是WooCommerce中已经存在的产品。

我想做的是将sku值替换为相应的产品ID值,因为它已经存在于WooCommerce中。

我一直在尝试使用str_replace,但不知道如何设置它,如果这是可能的。还是应该使用查找?如果任何人都可以帮助一些示例代码,我会非常感激的。

根据sku字段查找产品ID。

[wc_get_product_id_by_sku({sku[1]})]

在你的例子中就是:

[wc_get_product_id_by_sku({metaparent_sku[1]})]

用于当您在一个字段中有多个sku时,创建自定义函数。在函数编辑器中输入以下函数:

/**
* Find product id(s) by sku(s)
* @param string $sku
* @return string with product id(s)
*/
function wp_all_import_get_product_ids_by_sku($sku, $seperator = "|") {
// define empty $product_ids
$product_ids = array();
// remove spaces from sku
$sku  = str_replace(" ", "", $sku);
// convert to array
$skus = explode($seperator, $sku);
// find product ids
foreach ($skus as $sku) {
$product_ids[] = wc_get_product_id_by_sku($sku);
}
// return product ids
return implode(" | ", $product_ids);
}

然后像这样使用

[wp_all_import_get_product_ids_by_sku({metaparent_sku[1]})]

相关内容

  • 没有找到相关文章

最新更新