¿Cómo obtener las imágenes de la galería de productos en WooCommerce?
20 ago 2017, 09:54:26
Vistas: 47.2K
Votos: 10
Busco un código que pueda ayudarme a obtener la lista de imágenes de la galería presentes en un producto de WooCommerce.
Las necesito para poder usarlas en un diseño personalizado de página individual para la página de producto de WooCommerce.

Shahzaib Khan
134
Todas las respuestas a la pregunta
3
3
<?php
$product_id = '14';
$product = new WC_product($product_id);
$attachment_ids = $product->get_gallery_image_ids();
foreach( $attachment_ids as $attachment_id )
{
// Mostrar la URL de la imagen
echo $Original_image_url = wp_get_attachment_url( $attachment_id );
// Mostrar la imagen en lugar de la URL
echo wp_get_attachment_image($attachment_id, 'full');
}?>

Md.Mehedi hasan
321
1 dic 2019 22:19:31
0
0
Esta es la función completa si deseas todas las imágenes de la galería, incluyendo la imagen principal:
public function getAllProducts( $request ){
$products = new WP_Query([
'post_type' => 'post'//,
//'show_product_on_only_premium' => 'yes',
]);
$args = array(
'status' => 'publish',
);
$products = wc_get_products( $args );
$tempArr = [];
foreach($products as $product){
$product_obj = json_decode($product-> __toString());
$product_obj->img_src = wp_get_attachment_image_src($product_obj->image_id)[0];
$images_ids = $product-> get_gallery_image_ids();
$images_arr = [];
for($i = 0, $j = count($images_ids); $i < $j;$i++ ){
$image_query = wp_get_attachment_image_src($images_ids[$i]);
$img = new StdClass;
$img->src = $image_query[0];
array_push($images_arr, $img);
}
$product_obj->gallery = $images_arr;
array_push($tempArr, $product_obj);
}
return $tempArr;
}
Y si quieres las variaciones: de: https://gist.github.com/Niloys7/17b88d36c1c38844a6cf2127c15dee63
<?php
global $product;
$attachment_ids = $product->get_gallery_attachment_ids();
foreach( $attachment_ids as $attachment_id )
{
//Obtener URL de las imágenes de la galería - tamaños de imagen predeterminados de WordPress
echo $Original_image_url = wp_get_attachment_url( $attachment_id );
echo $full_url = wp_get_attachment_image_src( $attachment_id, 'full' )[0];
echo $medium_url = wp_get_attachment_image_src( $attachment_id, 'medium' )[0];
echo $thumbnail_url = wp_get_attachment_image_src( $attachment_id, 'thumbnail' )[0];
//Obtener URL de las imágenes de la galería - tamaños de imagen específicos de WooCommerce
echo $shop_thumbnail_image_url = wp_get_attachment_image_src( $attachment_id, 'shop_thumbnail' )[0];
echo $shop_catalog_image_url = wp_get_attachment_image_src( $attachment_id, 'shop_catalog' )[0];
echo $shop_single_image_url = wp_get_attachment_image_src( $attachment_id, 'shop_single' )[0];
//Mostrar imagen en lugar de URL
echo wp_get_attachment_image($attachment_id, 'full');
echo wp_get_attachment_image($attachment_id, 'medium');
echo wp_get_attachment_image($attachment_id, 'thumbnail');
echo wp_get_attachment_image($attachment_id, 'shop_thumbnail');
echo wp_get_attachment_image($attachment_id, 'shop_catalog');
echo wp_get_attachment_image($attachment_id, 'shop_single');
}
?>

user91030
161
14 ago 2018 02:33:32
Preguntas relacionadas
5
respuestas
1
respuestas
5
respuestas
2
respuestas