ホームページ >バックエンド開発 >PHPチュートリアル >新しい属性値を使用して WooCommerce 製品バリエーションをプログラムで作成するにはどうすればよいですか?

新しい属性値を使用して WooCommerce 製品バリエーションをプログラムで作成するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-11 04:47:02739ブラウズ

How can I programmatically create WooCommerce product variations with new attribute values?

新しい属性値を使用してプログラムによる WooCommerce 商品バリエーションを作成する

この質問は、既存の可変商品の商品バリエーションを作成するという課題に対処します。ウーコマース3.目標は、まだ存在しないバリエーションの新しい属性値の作成も処理しながら、このプロセスを自動化することです。

ソリューション

提供されるソリューションは、カスタム PHP を利用します。 create_product_variation() という関数。この関数は 2 つのパラメータを取ります:

  1. $product_id: 親変数製品の投稿 ID。
  2. $variation_data: バリエーション属性、SKU、価格、在庫情報を含む配列.

この関数は、製品バリエーション ポスト オブジェクトを作成することから始まります。このオブジェクトは、バリエーションを表す新しい投稿を作成するために使用されます。次に、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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。