Asignar imágenes a nuestros productos de WooCommerce

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

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.

 

Más...

Nueva web Laboratorios Valquer

En colaboración con Amvos, hemos realizado la nueva web de laboratorios Valquer. Es una empresa fundada en 1975, con presencia en más

Nueva web credithousecar.com

Ha sido un placer realizar todo el diseño y la imagen corporativa de credithousecar.com Una web moderna y actual, con un diseño

Más...

Nueva web Laboratorios Valquer

En colaboración con Amvos, hemos realizado la nueva web de laboratorios Valquer. Es una empresa fundada en 1975, con presencia en más

Nueva web credithousecar.com

Ha sido un placer realizar todo el diseño y la imagen corporativa de credithousecar.com Una web moderna y actual, con un diseño

Deja un comentario