首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wpallimport -如何用产品id替换sku?

wpallimport -如何用产品id替换sku?
EN

Stack Overflow用户
提问于 2021-10-06 18:10:18
回答 1查看 383关注 0票数 0

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

导入的字段名为{metaparent_sku1},内容有几个值,它们之间有几个值,例如: BDCD7、BDAUX、BDCA1、BDCA1、ADUP89 --这些都是唯一的产品sku,它们指的是已经在WooCommerce中的产品。

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

我一直在尝试使用str_replace,但不知道如何设置它,如果可能的话。还是我应该使用查找?如果有人能帮忙处理一些示例代码,我将非常感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-06 19:25:41

通过sku字段查找产品ID。

代码语言:javascript
复制
[wc_get_product_id_by_sku({sku[1]})]

所以在你的情况下,那就是:

代码语言:javascript
复制
[wc_get_product_id_by_sku({metaparent_sku[1]})]

当您在一个字段中有多个sku时,请创建一个自定义函数。将以下函数放在功能编辑器中。

代码语言:javascript
复制
/**
 * 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);
}

那就像这样用吧

代码语言:javascript
复制
[wp_all_import_get_product_ids_by_sku({metaparent_sku[1]})]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69470695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档