Bagi anda yang jualan baju, gamis, atau jualan produk lainya yang memiliki banyak varian, anda harus berfikir bagaimana menambahkan produk varian secara cepat. Sebagai contoh anda memiliki produk gamis type 212. Gamis ini memiliki varible yang banyak seperti ukuran dan warna. Dari ukuran nanti ada s , m, l , xl , xx, . Dan dari warnanya type ini memiliki varian yang warna yang sangat banyak. Tentu ini akan menghharuskan anda untuk menambahkan variable setikdaknya 10 variable. Untuk, configurasi ini setidaknya anda membutuhkan 5 menit. Bagaimana jika ada cara untuk menambahkan secara otomatis?

Code yang saya share ini merupakan code yang kami gunakan ketika trasnfer databe dari non woocommerce ke woocommerce. Data produk adan lebih dari 1000 produk. Produknya adalah produk gamis. Bisa dibayangkan kalau 1000 produk dengan varian tiap produk memiliki warna dan size. Bisa berhari hari kita memindahkan dari platform satu ke woocommerce.

COde yang saya gunakan adalah. sebagai berikut

$produk_id="";
$hargabarangreguler = "150000";
$hargabarang  ="150000";
$SKU ="";
$ukuran ="M";
$stockvarian ="5";
$variation = array("regular_price"=>$hargabarangreguler ,"price"=>$hargabarang  ,"sku"=>$SKU ,"attributes"=>array(array("name"=>"SIZE","option"=>$ukuran)),"manage_stock"=>1,"stock_quantity"=>$stockvarian );
try{
    $var= new WC_Product_Variation();
    $var->set_price($variation["price"]);
    $var->set_regular_price($variation["regular_price"]);
    $var->set_parent_id($produk_id);
    //$var->set_sku($variation["sku"]);
    $var->set_manage_stock($variation["manage_stock"]);
    $var->set_stock_quantity($variation["stock_quantity"]);
    $var->set_stock_status('instock');
    $var_attributes = array();
    foreach($variation["attributes"] as $vattribute){
        $taxonomy = "pa_".wc_sanitize_taxonomy_name(stripslashes($vattribute["name"]));
        $attr_val_slug =  wc_sanitize_taxonomy_name(stripslashes($vattribute["option"]));
        $var_attributes[$taxonomy]=$attr_val_slug;
    }
    $var->set_attributes($var_attributes);
    $save = $var->save();
    echo $save;

}
catch(Exception $e){
    echo "rusak";
}

Sebelum menggunakan kode diatas, anda harus menambahkan, atau mengimport dan mengkonfigurasi terlebih dahulu atribute term yang ada pada pada configurasi woocommerce anda. Kalau anda tidak mengimportnya maka ini tidak akan berjalan. Cara mudah unuk mengimport term bisa anda lihat di bagian https://riffamedia.com/2019/10/19/woocommerce-menambahkan-attribute-ke-dalam-product-secara-otomatis/
Dengan kode diatas sangat menghemat dalam menambahkan varian dalam produk . Selamat mencoba ya.