Añadir atributos a productos simples en WooCommerce programáticamente

6 jun 2018, 21:58:10
Vistas: 18K
Votos: 6

Quiero crear una función que añada atributos a productos específicos de forma programática. Estoy usando el siguiente código pero no parece funcionar.

$attributedata = Array(
     'pa_color'=>Array( 
           'name'=>'pa_color', 
           'value'=>'negro',
           'is_visible' => '1',
           'is_taxonomy' => '1'
     )
);

    update_post_meta( $productID,'_product_attributes',$attributedata );

Si establezco la taxonomía en 0, el atributo se pasa al producto pero no aparece en el frontend a menos que actualice manualmente cada producto. ¿Qué puedo hacer para añadir atributos al producto correctamente? Quiero mencionar que los productos son productos simples, no variables.

0
Todas las respuestas a la pregunta 1
2
10
// Establece el término 'negro' para el atributo 'color' del producto con ID $productID
wp_set_object_terms( $productID, 'negro', 'pa_color', true );

// Crea un array con los datos del atributo color
$att_color = Array('pa_color' =>Array(
       'name'=>'pa_color',                 // Nombre del atributo
       'value'=>'negro',                   // Valor del atributo
       'is_visible' => '1',                // Visible en la página del producto
       'is_taxonomy' => '1'               // Es una taxonomía
     ));

// Actualiza los metadatos del producto con los atributos de color
update_post_meta( $productID, '_product_attributes', $att_color);
3 abr 2019 16:39:33
Comentarios

Funciona para mí, puedes intentarlo

vikas Rana vikas Rana
3 abr 2019 16:40:46

Por favor [edita] tu respuesta y agrega una explicación: ¿por qué eso podría resolver el problema?

fuxia fuxia
3 abr 2019 17:40:40