Maison >développement back-end >tutoriel php >Comment créer par programme des variantes de produits WooCommerce avec de nouvelles valeurs d'attribut ?

Comment créer par programme des variantes de produits WooCommerce avec de nouvelles valeurs d'attribut ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-16 09:21:02227parcourir

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

Créer une variante de produit WooCommerce avec de nouvelles valeurs d'attribut

Lors de la création de produits variables dans WooCommerce, vous souhaiterez peut-être ajouter de nouvelles valeurs d'attribut au variations du produit. Voici un guide étape par étape sur la façon d'accomplir cela par programmation :

1. Définissez les données de variation du produit :

Créez un tableau contenant les données de variation, y compris les valeurs d'attribut, le SKU, les prix et la quantité en stock. Un exemple est fourni ci-dessous :

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

2. Obtenez l'objet de produit variable :

Obtenez l'objet du produit variable auquel vous souhaitez ajouter des variantes :

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

3. Créez la publication de variation :

Configurez les données de publication pour la nouvelle variation de produit :

$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. Insérez la publication de variation :

Créez la nouvelle variation de produit :

$variation_id = wp_insert_post($variation_post);

5. Définissez les données d'attribut :

Parcourez les attributs de variation et définissez-les dans la variante de produit :

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

6. Définir d'autres données :

Définissez les données de variation restantes telles que le SKU, les prix et la quantité en stock :

$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

En suivant ces étapes, vous pouvez créer par programme des variantes de produit avec un nouvel attribut valeurs dans WooCommerce.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn