简体   繁体   English

在 WooCommerce 中以编程方式添加多个产品

[英]Adding multiple products programmatically in WooCommerce

I'm trying to programmatically bulk add products in WooCommerce but for some reason, it's only adding the first product.我正在尝试以编程方式在 WooCommerce 中批量添加产品,但由于某种原因,它只添加了第一个产品。 I am making a request to an app that returns a JSON response with product names and descriptions.我正在向应用程序发出请求,该应用程序返回 JSON 响应以及产品名称和描述。 So far my code looks like what I have below:到目前为止,我的代码如下所示:

    $curl_connection = curl_init($url);
    curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
    curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
    
    $data = json_decode(curl_exec($curl_connection), true);
    curl_close($curl_connection);
    
    foreach($data['data'] as $media){

        $objProduct = new WC_Product();
        $objProduct->set_name($media['name']);
        $objProduct->set_status("publish");  
        $objProduct->set_catalog_visibility('visible');
        $objProduct->set_description($media['description']);
        $objProduct->set_sku("product-sku"); 
        $objProduct->set_price(10.55); 
        $objProduct->set_regular_price(10.55); 
        $objProduct->set_manage_stock(true);
        $objProduct->set_stock_quantity(10);
        $objProduct->set_stock_status('instock'); 
        $objProduct->set_backorders('no');
        $objProduct->set_reviews_allowed(true);
        $objProduct->set_sold_individually(false);
        $objProduct->set_category_ids(array(1,2,3)); 

        $product_id = $objProduct->save();
    }

I got it.我知道了。 You cannot create a product with a duplicate SKU.您不能创建具有重复 SKU 的产品。

$objProduct->set_sku("product-sku");

The code above needs to have a unique string for all products.上面的代码需要对所有产品都有一个唯一的字符串。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM