Crear con PHP producto variable en WooCommerce

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

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.

 

 

Si te ha servido, deja un comentario

Una respuesta

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Más entradas
Recomendaciones SEO WordPressRecomendaciones SEO WordPress
SEO

Recomendaciones SEO en WordPress

En este post os iremos mostrando cada una de las recomendaciones para poder realizar un buen SEO en WordPress y así poder aumentar el posicionamiento

Blog

Qué es la Arquitectura Web

Alguna vez habréis escuchado hablar sobre la arquitectura web y es que esta es un pilar fundamental para el Search Engine Optimization (SEO). Se define

Categorías
¿Quieres impulsar tu negocio?
escríbenos y manténte en contacto
Desarrollo de tiendas online Garber Informática
Contacta con nosotros