Buat Variasi Produk WooCommerce Programmatik dengan Nilai Atribut Baharu
Soalan ini menangani cabaran mencipta variasi produk untuk produk pembolehubah yang sedia ada dalam WooCommerce 3 . Matlamatnya adalah untuk mengautomasikan proses ini sambil turut mengendalikan penciptaan nilai atribut baharu untuk variasi yang belum wujud.
Penyelesaian
Penyelesaian yang disediakan memanfaatkan PHP tersuai fungsi yang dipanggil create_product_variation(). Fungsi ini mengambil dua parameter:
Fungsi bermula dengan mencipta objek siaran variasi produk. Objek ini kemudiannya digunakan untuk membuat siaran baharu, mewakili variasi. Seterusnya, contoh objek WC_Product_Variation dicipta dan digunakan untuk menetapkan nilai atribut untuk variasi.
Fungsi ini melelar melalui atribut variasi yang disediakan dalam tatasusunan $variation_data. Untuk setiap atribut, ia menyemak sama ada taksonomi yang sepadan wujud. Jika tidak, taksonomi dibuat menggunakan fungsi register_taxonomy().
Untuk setiap nilai atribut yang dinyatakan dalam $variation_data['attributes'], fungsi menyemak sama ada istilah itu sudah wujud. Jika tidak, ia mencipta istilah menggunakan wp_insert_term(). Slug istilah kemudiannya diperoleh dan digunakan untuk mengemas kini meta siaran untuk variasi.
Data variasi tambahan, seperti SKU, harga dan kuantiti stok, juga ditetapkan menggunakan kaedah yang sesuai. Ambil perhatian bahawa apabila menguruskan stok, kaedah set_manage_stock() mesti ditetapkan kepada benar.
Akhir sekali, objek variasi disimpan menggunakan kaedah save().
Contoh Penggunaan
Contoh yang disediakan menunjukkan cara membuat variasi produk dengan dua atribut ("saiz" dan "warna"), satu ciri unik SKU, harga dan kuantiti stok:
$parent_id = 746; // Or get the variable product id dynamically // The variation data $variation_data = array( 'attributes' => array( 'size' => 'M', 'color' => 'Green', ), 'sku' => '', 'regular_price' => '22.00', 'sale_price' => '', 'stock_qty' => 10, ); // The function to be run create_product_variation( $parent_id, $variation_data );
Setelah kod ini dilaksanakan, ia akan mencipta variasi produk baharu dengan atribut, harga dan maklumat stok yang ditentukan.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mencipta variasi produk WooCommerce secara pemrograman dengan nilai atribut baharu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!