Я хочу получить заголовок каждого изображения для отображения под каждым изображением в галерее продуктов Woocommerce.Не главное изображение, а уменьшенные миниатюры, на которые можно кликать.
На всех моих изображениях в настоящее время установлены заголовки.
Я посмотрел в product-thumbnails.php и нашел этот код:
if ( $attachment_ids && has_post_thumbnail() ) {
foreach ( $attachment_ids as $attachment_id ) {
echo apply_filters( 'woocommerce_single_product_image_thumbnail_html', wc_get_gallery_image_html( $attachment_id ), $attachment_id );
}
}
Я считаю, что это то, что мне нужно отредактировать, но я не уверен, что добавить.
Я также нашел этот пост, где просили похожую вещь, но для подписей Показать подписьв галерее продуктов в WooCommerce , но когда я его добавляю, он не работает
Есть идеи?
РЕДАКТИРОВАТЬ
Итак, я скопировал функцию из wc-template-functions.php в мой файл functions.php дочерних тем:
function wc_get_gallery_image_html( $attachment_id, $main_image = false ) {
$flexslider = (bool) apply_filters( 'woocommerce_single_product_flexslider_enabled', get_theme_support( 'wc-product-gallery-slider' ) );
$gallery_thumbnail = wc_get_image_size( 'gallery_thumbnail' );
$thumbnail_size = apply_filters( 'woocommerce_gallery_thumbnail_size', array( $gallery_thumbnail['width'], $gallery_thumbnail['height'] ) );
$image_size = apply_filters( 'woocommerce_gallery_image_size', $flexslider || $main_image ? 'woocommerce_single' : $thumbnail_size );
$full_size = apply_filters( 'woocommerce_gallery_full_size', apply_filters( 'woocommerce_product_thumbnails_large_size', 'full' ) );
$thumbnail_src = wp_get_attachment_image_src( $attachment_id, $thumbnail_size );
$full_src = wp_get_attachment_image_src( $attachment_id, $full_size );
$image = wp_get_attachment_image( $attachment_id, $image_size, false, array(
'title' => get_post_field( 'post_title', $attachment_id ),
'data-caption' => get_post_field( 'post_excerpt', $attachment_id ),
'data-src' => $full_src[0],
'data-large_image' => $full_src[0],
'data-large_image_width' => $full_src[1],
'data-large_image_height' => $full_src[2],
'class' => $main_image ? 'wp-post-image' : '',
) );
return '<div data-thumb="' . esc_url( $thumbnail_src[0] ) . '" class="woocommerce-product-gallery__image"><a href="' . esc_url( $full_src[0] ) . '">' . $image . '</a></div>';
}
Я также переименовал функцию wc_get_gallery_image_with_title_html , а такжеизменив строку возврата на эту:
return '<div data-thumb="' . esc_url( $thumbnail_src[0] ) . '" class="woocommerce-product-gallery__image"><a href="' . esc_url( $full_src[0] ) . '">' . $image . $imageTitle . '</a></div>';
Кажется, это не работает.Однако, если я добавлю слово TEST вместо $ imageTitle в обратной строке выше, чтобы увидеть, появится ли что-нибудь, слово TEST появится под каждым изображением.
Тест слова не появляется под каждым эскизом, хотя он появляется под изображением главной галереи.
Что я здесь упускаю или делаю неправильно?
РЕДАКТИРОВАТЬ
Теперь заголовок отображается благодаря помощи Зипкундана, ноэто показано под основным изображением, а не под каждым эскизом.Как я могу переместить его, чтобы показать под каждой соответствующей миниатюрой?