ホームページ >バックエンド開発 >PHPチュートリアル >新しい属性値を使用して WooCommerce 製品バリエーションをプログラムで作成するにはどうすればよいですか?
新しい属性値を使用してプログラムによる WooCommerce 商品バリエーションを作成する
この質問は、既存の可変商品の商品バリエーションを作成するという課題に対処します。ウーコマース3.目標は、まだ存在しないバリエーションの新しい属性値の作成も処理しながら、このプロセスを自動化することです。
ソリューション
提供されるソリューションは、カスタム PHP を利用します。 create_product_variation() という関数。この関数は 2 つのパラメータを取ります:
この関数は、製品バリエーション ポスト オブジェクトを作成することから始まります。このオブジェクトは、バリエーションを表す新しい投稿を作成するために使用されます。次に、WC_Product_variation オブジェクトのインスタンスが作成され、バリエーションの属性値を設定するために使用されます。
関数は、$variation_data 配列で提供されるバリエーション属性を反復処理します。属性ごとに、対応する分類が存在するかどうかがチェックされます。存在しない場合、register_taxonomy() 関数を使用して分類が作成されます。
$variation_data['attributes'] で指定された各属性値について、関数は用語が既に存在するかどうかを確認します。そうでない場合は、wp_insert_term() を使用して用語を作成します。その後、用語のスラッグが取得され、バリエーションの投稿メタを更新するために使用されます。
SKU、価格、在庫数量などの追加のバリエーション データも、適切な方法を使用して設定されます。在庫を管理する場合、set_manage_stock() メソッドを true に設定する必要があることに注意してください。
最後に、save() メソッドを使用してバリエーション オブジェクトが保存されます。
使用例
提供された例は、2 つの属性 (「サイズ」と「色」)、一意の SKU、価格、および在庫数量を持つ製品バリエーションを作成する方法を示しています。
$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 );
1 回このコードが実行されると、指定された属性、価格、在庫情報を使用して新しい製品バリエーションが作成されます。
以上が新しい属性値を使用して WooCommerce 製品バリエーションをプログラムで作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。