Cómo obtener la primera imagen de la galería de un producto en WooCommerce en un bucle
Quiero mostrar un producto con una imagen principal y cuando el visitante pase el cursor sobre esa imagen, que cambie a la primera imagen de la galería del producto. Estoy usando este código para mostrar la galería de imágenes, pero muestra todas las imágenes de la galería del producto. Solo quiero mostrar 1 imagen.
<?php do_action( 'woocommerce_product_thumbnails' ); ?>
¿Alguien sabe cómo resolver este problema? Realmente agradezco cualquier idea.
Saludos

Junto con la miniatura del producto (asumo que ya la tienes), lo que necesitas es una lista (array) de las imágenes del producto - WooCommerce tiene métodos para esto, por ejemplo $product->get_gallery_attachment_ids()
.
Puedes tomar el primer ID del array y usarlo para obtener la imagen individual con wp_get_attachment_image()
, o wp_get_attachment_url()
, etc., luego usar eso como fuente alternativa para la imagen principal (miniatura).
Por cierto, la llamada woocommerce_product_thumbnails
está generando un marcado que probablemente no quieras usar. Necesitarás descartar esto o desenganchar funciones de ella para obtener el resultado que deseas.

Mi problema es que no sé cómo obtener la primera imagen de la galería. Estoy usando http://stackoverflow.com/questions/29778288/get-woocommerce-product-gallery-image-caption pero sigo obteniendo todas las imágenes de la galería.

En lugar de usar foreach
en ese código, necesitas obtener solo la primera URL como wp_get_attachment_url( $attachment_ids[0], 'large')
.
