Как получить первое изображение из галереи товара WooCommerce в цикле
Я хочу отобразить товар с изображением, и когда посетитель наводит курсор на это изображение, оно должно меняться на первое изображение из галереи товара. Я использую этот код для отображения галереи изображений, но он показывает все изображения из галереи товара. Мне нужно только 1 изображение.
<?php do_action( 'woocommerce_product_thumbnails' ); ?>
Кто-нибудь знает, как решить эту проблему? Буду очень признателен за любые идеи.
С уважением

Наряду с миниатюрой товара (я предполагаю, что она у вас есть), вам понадобится список (массив) изображений товара — WooCommerce предоставляет такие методы, например $product->get_gallery_attachment_ids()
.
Вы можете взять первый ID из массива и использовать его для получения отдельного изображения с помощью wp_get_attachment_image()
или wp_get_attachment_url()
и т.д., а затем использовать его в качестве альтернативного источника для основного (миниатюрного) изображения.
Кстати, вызов woocommerce_product_thumbnails
выводит разметку, которую, вероятно, вы не захотите использовать. Вам нужно либо отбросить её, либо отключить функции, связанные с ней, чтобы получить желаемый вывод.

Моя проблема в том, что я не знаю, как получить первое изображение из галереи. Я использую http://stackoverflow.com/questions/29778288/get-woocommerce-product-gallery-image-caption, но все равно получаю все изображения из галереи.

Вместо использования foreach
в этом коде, вам нужно просто получить первый URL с помощью wp_get_attachment_url( $attachment_ids[0], 'large')
.
