';
preg_match( '@src="([^"]+)"@', $image, $match );
$src = array_pop( $match );
$processed_images[] = $src;
// if variable image and product thumbnail is the same add data-var_id
$product_thumbnail_var_img_url = '';
if ( $product->is_type( 'variable' ) ) {
$iterateor = 0;
foreach ( $variable_images as $key => $variable_image ) {
$variable_url = $variable_image;
if ( in_array( $variable_url, $processed_images ) ) {
$product_thumbnail_var_img_url = 'data-variableimageurl="' . $variable_image . '"';
break;
}
}
}
// echo slide
if ( $zoom == 1 && $product_detail_style != 'pd_top' && $product_detail_style != 'pd_fullwidth_top' ) {
$big_image = wp_get_attachment_image_src( $mainImageID, 'full' );
if ( $product_gallery_popup ) {
echo apply_filters( 'woocommerce_single_product_image_html', sprintf( '', esc_attr( $hover_display ), esc_url( $big_image[0] ), esc_url( $img_url ), esc_attr( $slide_num ), $product_thumbnail_var_img_url, $image ), $post->ID );
} else {
echo apply_filters( 'woocommerce_single_product_image_html', sprintf( '
%s
', esc_attr( $hover_display ), esc_url( $big_image[0] ), esc_attr( $slide_num ), $product_thumbnail_var_img_url, $image ), $post->ID );
}
} else {
if ( $product_gallery_popup ) {
echo apply_filters( 'woocommerce_single_product_image_html', sprintf( '', esc_attr( $hover_display ), esc_url( $img_url ), esc_attr( $slide_num ), $product_thumbnail_var_img_url, $image ), $post->ID );
} else {
echo apply_filters( 'woocommerce_single_product_image_html', sprintf( '
%s
', esc_attr( $slide_num ), esc_attr( $hover_display ), $product_thumbnail_var_img_url, $image ), $post->ID );
}
}
$slide_num++;
}
// Process variable images at first (remove duplicate images of gallery because we need variable images for showing when user select a- it's more important than gallery iamges)
if ( $product->is_type( 'variable' ) ) {
$iterateor = 0;
foreach ( $variable_images as $key => $variable_image ) {
$variable_url = $variable_image;
if ( in_array( $variable_url, $processed_images ) ) {
continue;
}
$processed_images[] = $variable_url;
// echo slide
$image_title = '';
if ( isset( $variable_image_titles[ $iterateor ] ) ) {
$image_title = $variable_image_titles[ $iterateor ];
}
if ( $zoom == 1 && $product_detail_style != 'pd_top' && $product_detail_style != 'pd_fullwidth_top' ) {
if ( $product_gallery_popup ) {
echo apply_filters(
'woocommerce_single_product_image_html',
sprintf(
'',
esc_attr( $hover_display ),
esc_url( $variable_image ),
esc_url( $variable_image ),
esc_attr( $slide_num ),
esc_url( $variable_image ),
$variations_id[ $key ],
esc_url( $variable_url ),
esc_attr( $image_title ) ,
!empty( $variable_srcset[ $key ] ) ? 'srcset="' . $variable_srcset[ $key ] . '"' : ''
),
$post->ID
);
} else {
echo apply_filters(
'woocommerce_single_product_image_html',
sprintf(
'
![%s](%s)
',
esc_attr( $hover_display ),
esc_url( $variable_image ),
esc_attr( $slide_num ),
esc_url( $variable_image ),
$variations_id[ $key ],
esc_url( $variable_url ),
esc_attr( $image_title ),
!empty( $variable_srcset[ $key ] ) ? 'srcset="' . $variable_srcset[ $key ] . '"' : ''
),
$post->ID
);
}
} else {
if ( $product_gallery_popup ) {
echo apply_filters(
'woocommerce_single_product_image_html',
sprintf(
'',
esc_attr( $hover_display ),
esc_url( $variable_image ),
esc_attr( $slide_num ),
esc_url( $variable_image ),
$variations_id[ $key ],
esc_url( $variable_url ),
esc_attr( $image_title ),
!empty( $variable_srcset[ $key ] ) ? 'srcset="' . $variable_srcset[ $key ] . '"' : ''
),
$post->ID
);
} else {
echo apply_filters(
'woocommerce_single_product_image_html',
sprintf(
'
![%s](%s)
',
esc_attr( $hover_display ),
esc_attr( $slide_num ),
esc_url( $variable_image ),
esc_url( $variable_url ),
esc_attr( $image_title ),
!empty( $variable_srcset[ $key ] ) ? 'srcset="' . $variable_srcset[ $key ] . '"' : ''
),
$post->ID
);
}
}
$iterateor++;
$slide_num++;
}
}
foreach ( $attachment_ids as $attachment_id ) {
$image_title = get_the_title( $attachment_id );
if ( function_exists( 'wc_get_image_size' ) ) {
$img_url = wp_get_attachment_image_src( $attachment_id, 'full' );
$image_dimension = wc_get_image_size( 'single' );
$image_sizes = $image_dimension['width'];
$srcset = wp_get_attachment_image_srcset( $attachment_id );
$srcset_attr = !empty( $srcset ) ? 'srcset="' . $srcset . '"' : '';
$image = '
![' . esc_attr( $image_title ) . '](' . esc_url( $img_url[0] ) . ')
';
} else {
$image = get_the_post_thumbnail( $attachment_id, apply_filters( 'single_product_large_thumbnail_size', 'single' ) );
}
preg_match( '@src="([^"]+)"@', $image, $match );
$src = array_pop( $match );
if ( in_array( $src, $processed_images ) ) {
continue;
}
$processed_images[] = $src;
// echo slide
if ( $zoom == 1 && $product_detail_style != 'pd_top' && $product_detail_style != 'pd_fullwidth_top' ) {
$big_image = wp_get_attachment_image_src( $attachment_id, 'full' );
if ( $product_gallery_popup ) {
echo apply_filters( 'woocommerce_single_product_image_html', sprintf( '', esc_attr( $hover_display ), esc_url( $big_image[0] ), esc_url( $img_url[0] ), esc_attr( $slide_num ), $image ), $post->ID );
} else {
echo apply_filters( 'woocommerce_single_product_image_html', sprintf( '
%s
', esc_attr( $hover_display ), esc_url( $big_image[0] ), esc_attr( $slide_num ), $image ), $post->ID );
}
} else {
if ( $product_gallery_popup ) {
echo apply_filters( 'woocommerce_single_product_image_html', sprintf( '', esc_attr( $hover_display ), esc_url( $img_url[0] ), esc_attr( $slide_num ), $image ), $post->ID );
} else {
echo apply_filters( 'woocommerce_single_product_image_html', sprintf( '
%s
', esc_attr( $hover_display ), esc_attr( $slide_num ), $image ), $post->ID );
}
}
$slide_num++;
}
?>