首页 > 解决方案 > 在 WooCommerce 中以编程方式添加多个产品

问题描述

我正在尝试以编程方式在 WooCommerce 中批量添加产品,但由于某种原因,它只添加了第一个产品。我正在向一个应用程序发出请求,该应用程序返回带有产品名称和描述的 JSON 响应。到目前为止,我的代码如下所示:

    $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();
    }

标签: phpwordpressclasswoocommerceproduct

解决方案


我知道了!您不能创建具有重复 SKU 的产品。

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

上面的代码需要对所有产品都有一个唯一的字符串。


推荐阅读