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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-16 09:21:02233ブラウズ

How to Programmatically Create WooCommerce Product Variations with New Attribute Values?

新しい属性値を使用して WooCommerce 商品バリエーションを作成する

WooCommerce で可変商品を作成するとき、新しい属性値を製品のバリエーション。これをプログラムで実行する方法についてのステップバイステップのガイドは次のとおりです。

1.製品バリエーション データを定義します:

属性値、SKU、価格、在庫数量などのバリエーション データを含む配列を作成します。以下に例を示します。

$variation_data = [
    'attributes' => [
        'size' => 'M',
        'color' => 'Blue'
    ],
    'sku' => 'my-product-variation',
    'regular_price' => 19.99,
    'stock_qty' => 10
];

2.可変商品オブジェクトを取得します:

バリエーションを追加する可変商品のオブジェクトを取得します:

$product = wc_get_product($product_id); // Replace $product_id with the actual product ID

3.バリエーション投稿を作成します:

新しい商品バリエーションの投稿データを構成します:

$variation_post = [
    'post_title' => $product->get_title() . ' Variation', // Set the variation title
    'post_name' => 'product-' . $product_id . '-variation',
    'post_status' => 'publish',
    'post_parent' => $product_id,
    'post_type' => 'product_variation',
    'guid' => $product->get_permalink()
];

4.バリエーション投稿を挿入します:

新しい商品バリエーションを作成します:

$variation_id = wp_insert_post($variation_post);

5.属性データを設定します:

バリエーション属性を反復処理し、製品バリエーションに設定します:

foreach ($variation_data['attributes'] as $attribute => $term_name) {
    $taxonomy = 'pa_' . $attribute;
    update_post_meta($variation_id, 'attribute_' . $taxonomy, $term_name);
}

6.その他のデータの設定:

SKU、価格、在庫数量などの残りのバリエーション データを設定:

$variation = new WC_Product_Variation($variation_id); // Get the variation object

if (!empty($variation_data['sku'])) {
    $variation->set_sku($variation_data['sku']);
}

$variation->set_price($variation_data['regular_price']);

if (!empty($variation_data['stock_qty'])) {
    $variation->set_stock_quantity($variation_data['stock_qty']);
}

$variation->save(); // Save the variation

これらの手順に従って、新しい属性を持つ製品バリエーションをプログラムで作成できます。 WooCommerce の値。

以上が新しい属性値を使用してプログラムで WooCommerce 製品バリエーションを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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