WooCommerce で変数商品を作成し、プログラムで新しい属性値を追加する
WooCommerce は、商品を管理するための柔軟なフレームワークを提供します。固有の属性値を持つ製品バリエーション。このガイドでは、プログラムで WooCommerce 変数商品を作成し、それに新しい属性値を追加する方法を説明します。
1.可変商品の作成:
親または可変商品 ID がある場合、次のコードを使用して新しい商品バリエーションを作成できます:
function create_product_variation($product_id, $variation_data) { // Get the parent variable product object $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() ); // Insert the product variation $variation_id = wp_insert_post($variation_post); // Create an instance of the variation object $variation = new WC_Product_Variation($variation_id); ... }
2.新しい属性値の追加:
追加する属性と値ごとに、用語が存在するかどうかを確認し、存在しない場合は作成する必要があります:
foreach ($variation_data['attributes'] as $attribute => $term_name) { $taxonomy = 'pa_' . $attribute; // The attribute taxonomy // Check if the term exists if (!term_exists($term_name, $taxonomy)) { wp_insert_term($term_name, $taxonomy); // Create the term } $term_slug = get_term_by('name', $term_name, $taxonomy)->slug; // Get the term slug // Set the attribute data in the product variation update_post_meta($variation_id, 'attribute_' . $taxonomy, $term_slug); }
3.追加のバリエーション データの設定:
バリエーション オブジェクトで適切なメソッドを呼び出して、SKU、価格、在庫などの追加の値を設定します:
$variation->set_sku($variation_data['sku']); $variation->set_price($variation_data['regular_price']); $variation->set_manage_stock(true); $variation->set_stock_quantity($variation_data['stock_qty']); ...
4.バリエーションを保存します:
最後に、バリエーションに加えたすべての変更を保存します:
$variation->save();
使用例:
作成するには2 つの属性と 2 つのバリエーションを持つ可変製品:
$parent_id = 123; // Your parent variable product ID $variation_data_1 = array( 'attributes' => array( 'color' => 'Blue', 'size' => 'Small' ), 'sku' => 'VAR-1234-BLUE-SMALL', 'regular_price' => '29.99', 'stock_qty' => 20 ); $variation_data_2 = array( 'attributes' => array( 'color' => 'Green', 'size' => 'Medium' ), 'sku' => 'VAR-1234-GREEN-MEDIUM', 'regular_price' => '39.99', 'stock_qty' => 10 ); create_product_variation($parent_id, $variation_data_1); create_product_variation($parent_id, $variation_data_2);
以上がWooCommerce で変数商品を作成し、プログラムで新しい属性値を追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。