Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Mencipta Variasi Produk WooCommerce dengan Atribut Baharu Secara Program?
Buat Variasi Produk WooCommerce dengan Atribut Baharu Secara Pengaturcaraan
Apabila bekerja dengan produk berubah-ubah dalam WooCommerce 3 , anda mungkin menghadapi keperluan untuk mencipta variasi secara pengaturcaraan . Ini boleh dicapai sambil turut mencipta nilai atribut baharu dan menetapkannya dalam produk pembolehubah induk.
Mencipta Variasi Produk
Untuk mencipta variasi bagi produk berubah, kami boleh menggunakan fungsi tersuai berikut:
/** * Create a product variation for a defined variable product ID. * * @since 3.0.0 * @param int $product_id | Post ID of the product parent variable product. * @param array $variation_data | The data to insert in the product. */ function create_product_variation( $product_id, $variation_data ){ // Get the Variable product object (parent) $product = wc_get_product($product_id); $variation_post = array( 'post_title' => $product->get_name(), 'post_name' => 'product-'.$product_id.'-variation', 'post_status' => 'publish', 'post_parent' => $product_id, 'post_type' => 'product_variation', 'guid' => $product->get_permalink() ); // Creating the product variation $variation_id = wp_insert_post( $variation_post ); // Get an instance of the WC_Product_Variation object $variation = new WC_Product_Variation( $variation_id ); }
Mengendalikan Nilai Atribut dan Penciptaan Taksonomi
Dalam fungsi, kami meningkatkan fungsi dengan mengendalikan semakan dan penciptaan nilai atribut:
// Iterating through the variations attributes foreach ($variation_data['attributes'] as $attribute => $term_name ) { $taxonomy = 'pa_'.$attribute; // The attribute taxonomy // If taxonomy doesn't exists we create it (Thanks to Carl F. Corneil) if( ! taxonomy_exists( $taxonomy ) ){ register_taxonomy( $taxonomy, 'product_variation', array( 'hierarchical' => false, 'label' => ucfirst( $attribute ), 'query_var' => true, 'rewrite' => array( 'slug' => sanitize_title($attribute) ), // The base slug ), ); } // Check if the Term name exist and if not we create it. if( ! term_exists( $term_name, $taxonomy ) ) wp_insert_term( $term_name, $taxonomy ); // Create the term }
Penggunaan
Untuk menggunakan fungsi ini, berikannya ID produk berubah-ubah dan tatasusunan data berikut:
// The variation data $variation_data = array( 'attributes' => array( 'size' => 'M', 'color' => 'Green', ), 'sku' => '', 'regular_price' => '22.00', 'sale_price' => '', 'stock_qty' => 10, );
Kesimpulan
Melalui fungsi ini, anda kini boleh mencipta variasi produk secara pemrograman dengan nilai atribut baharu, menetapkannya dalam produk pembolehubah induk dengan lancar.
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Variasi Produk WooCommerce dengan Atribut Baharu Secara Program?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!