Crear con PHP un producto variable en WooCommerce con varios atributos

Share on facebook
Share on linkedin
Share on twitter
Share on email

Producto variable en WooCommerce con varios atributos.

 

En este apartado vamos a ver como crear un producto variable en WooCommerce con varios atributos en usando PHP.

A continuación se verá paso a paso el código para ello.

Creamos el array con los datos del producto:

$post_data = array(
'ID' => $product_ID,
'post_author' => $cliente,
'post_name' => $tituloproductos."-".$refProducto,
'post_title' => $opcion_pretitulo."-".$tituloproductos."-".$opcion_postitulo,
'post_content' => $descripcion_final,
'post_excerpt' => $descripcion_corta,
'post_status' => 'publish',
'ping_status' => 'closed',
'post_type' => 'product',
'guid' => home_url( '/product/producto-prueba/' ),
);

Creamos el producto:

$product_id = wp_insert_post( $post_data );

A continuación se crea la categoría de nuestro producto, si ya tienes una o varias puedes asignársela directamente:

$id_categoria = wp_insert_term(

    $descripcionsubfamilias, // the name
    'product_cat', // the taxonomy

     array(

             'description'=> $refSubfamilia,
             'slug' => $refSubfamilia."-".$descripcionsubfamilias,

     )
);

wp_set_object_terms( $product_id, $id_categoria, 'product_cat');//Aquí se le asigna la categoría al producto
// por lo que si ya sabes la id de tú categoría simplemente usa solo esta línea.

Ahora que tenemos lo necesario, empecemos a programar esos atributos, para ello primero debemos crear un objeto producto variable de WooCommerce con $product_id:

$product = newWC_Product_Variable($product_id);

$attribute = newWC_Product_Attribute();//declaramos nuestro primer atributo
$attribute->set_id(0);//le damos una id
$attribute->set_name('color');// y un nombre

 $colores = array(0  => "Rojo",//este sera los valores del atributo
    1 => "Azul");

 $attribute->set_visible(true);
 $attribute->set_variation(true);
 $attribute->set_options($colores);//le asignamos los valores al atributo

Ya tenemos el primer atributo ahora el segundo, seguimos los mismos pasos que en el primero:

$attribute2 = newWC_Product_Attribute();
$attribute2->set_id(0);
$attribute2->set_name('tamanyo');

$tamanyo = array(0 => "Grande",1 => "Mediano",2 => "Pequeño");

$attribute2->set_options($tamanyo);
$attribute2->set_visible(true);
$attribute2->set_variation(true);

Por ultimo, asignamos estos atributos a nuestro producto y lo guardamos:

$product->set_attributes(array($attribute,$attribute2));
$product->save();

Puedes hacer tantos atributos como quieras, solo acuérdate de añadirlos en el array, y eso es todo, espero que os haya sido de utilidad.

Cualquier duda o comentario será bienvenida.

 

 

Más entradas

campaña SEM para Valquer
Marketing Online

Campaña SEM Válquer

 Características del proyecto campaña SEM Válquer Se diseñó, se puso en marcha y se coordinó durante 3 meses una campaña de pago por click a

Categorías

¿Quieres impulsar tu negocio?

escríbenos y manténte en contacto

Desarrollo de tiendas online Garber Informática