>  기사  >  백엔드 개발  >  WooCommerce에서 프로그래밍 방식으로 가변 제품을 만들고 새 속성 값을 추가하는 방법은 무엇입니까?

WooCommerce에서 프로그래밍 방식으로 가변 제품을 만들고 새 속성 값을 추가하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-09 18:42:02865검색

How to Create a Variable Product and Add New Attribute Values Programmatically in WooCommerce?

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(); 

사용 예:

만들려면 두 가지 속성과 두 가지 변형이 있는 가변 제품:

$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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.