Asignar imágenes a nuestros productos de WooCommerce

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

Imágenes en nuestros productos de WooCommerce.

Vamos a ver cómo se asignan imágenes a los productos en WooCommerce y a la galería del mismo utilizando PHP.

Lo ideal siempre es crear una función para nuestro código. En el mismo comento las partes más importantes:

function gbiet_anyadir_imagen($producto_image_url, $producto_image_gallery_url, $product_id){

  //Le pasamos la id del producto y las url de la imagen para el producto y la galería
  $thumb_url = $producto_image_url;
  $thumb_url_gallery = $producto_image_gallery_url;

  // Descargamos el archivo temporal 
  $tmp = download_url( $thumb_url );
  $tmp_gallery = download_url( $thumb_url_gallery );

  //Creamos el array con los datos para la primera url, y de paso nos aseguramos que tenga un formato correcto
  preg_match('/[^\?]+\.(jpg|JPG|jpe|JPE|jpeg|JPEG|gif|GIF|png|PNG)/', $thumb_url, $matches);//preg_match its for get sure image its correct
  $file_array['name'] = basename($matches[0]);
  $file_array['tmp_name'] = $tmp;

  //Creamos el array con los datos para la segunda url
  preg_match('/[^\?]+\.(jpg|JPG|jpe|JPE|jpeg|JPEG|gif|GIF|png|PNG)/', $thumb_url_gallery, $matches2);//preg_match its for get sure image its correct
  $file_array_gallery['name'] = basename($matches2[0]);
  $file_array_gallery['tmp_name'] = $tmp_gallery;

  //Creamos el objeto product con la id donde se asignará la imagen
  $product = newWC_Product_Variation($product_id);

  //Introducimos la imagen en el media de wordpress y guardamos su id en la variable thumbid
  $thumbid = media_handle_sideload( $file_array, $product_id, $product_id."-".$producto_image_url );//producto_image_url es la descripcion así podemos usarlo mejor
  //Y con esa id se la asignamos en su producto como imagen de cabecera
  set_post_thumbnail($product_id, $thumbid);

  //Con la imagen para la galería hacemos lo mismo y la añadimos en media
  $thumbid_gallery = media_handle_sideload( $file_array_gallery, $product_id, $producto_image_gallery_url );
  //Y la asignamos a la galería de ese producto
  update_post_meta( $product_id, '_product_image_gallery', $thumbid_gallery);
}

Y eso es todo, espero que os haya sido de utilidad. Cualquier duda o comentario será bienvenida.

 

Si te ha servido, deja un comentario

2 respuestas

  1. Hola, estoy trabajando con laravel y quiero introducir imagenes para los productos desde la BD, solo que no consigo hacerlo, el unico lugar donde se muestra la imagen es en la lista de todos los productos de woocomerce, en la parte del escritorio, espero me puedas ayudar, te dejo mis datos

    Saludos!

    1. Buenos días,

      Laravel y WooCommerce son sistemas totalmente diferentes, no entendemos qué es lo que necesitas hacer.

      Saludos

Deja una respuesta

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

Más entradas
Blog

¿Qué es Link Building?

Puede ser que en alguna ocasión te hayas topado con este término mientras hacías algún estudio o simplemente mientras navegabas por la red y entonces

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