product-thumbnails fixes
"wc_get_gallery_image_html" checks; Use helper function which has more filters and moves logic out of template files "wc_get_gallery_image_html"; ^ This also called for some more changes to the rest of the code. Woo introduced this to be compatible with 3.3.2 Per new Woo template files;
This commit is contained in:
parent
54dc0b5450
commit
da3cdfa847
|
@ -16,31 +16,19 @@
|
||||||
* @version 3.3.2
|
* @version 3.3.2
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( ! defined( 'ABSPATH' ) ) {
|
defined( 'ABSPATH' ) || exit;
|
||||||
exit;
|
|
||||||
|
// Note: `wc_get_gallery_image_html` was added in WC 3.3.2 and did not exist prior. This check protects against theme overrides being used on older versions of WC.
|
||||||
|
if ( ! function_exists( 'wc_get_gallery_image_html' ) ) {
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
global $post, $product;
|
global $product;
|
||||||
|
|
||||||
$attachment_ids = $product->get_gallery_image_ids();
|
$attachment_ids = $product->get_gallery_image_ids();
|
||||||
|
|
||||||
if ( $attachment_ids && has_post_thumbnail() ) {
|
if ( $attachment_ids && has_post_thumbnail() ) {
|
||||||
foreach ( $attachment_ids as $attachment_id ) {
|
foreach ( $attachment_ids as $attachment_id ) {
|
||||||
$full_size_image = wp_get_attachment_image_src( $attachment_id, 'full' );
|
echo apply_filters( 'woocommerce_single_product_image_thumbnail_html', wc_get_gallery_image_html( $attachment_id ), $attachment_id );
|
||||||
$thumbnail = wp_get_attachment_image_src( $attachment_id, 'shop_thumbnail' );
|
|
||||||
$attributes = array(
|
|
||||||
'title' => get_post_field( 'post_title', $attachment_id ),
|
|
||||||
'data-caption' => get_post_field( 'post_excerpt', $attachment_id ),
|
|
||||||
'data-src' => $full_size_image[0],
|
|
||||||
'data-large_image' => $full_size_image[0],
|
|
||||||
'data-large_image_width' => $full_size_image[1],
|
|
||||||
'data-large_image_height' => $full_size_image[2],
|
|
||||||
);
|
|
||||||
|
|
||||||
$html = '<div data-thumb="' . esc_url( $thumbnail[0] ) . '" class="woocommerce-product-gallery__image"><a href="' . esc_url( $full_size_image[0] ) . '">';
|
|
||||||
$html .= wp_get_attachment_image( $attachment_id, 'shop_single', false, $attributes );
|
|
||||||
$html .= '</a></div>';
|
|
||||||
|
|
||||||
echo apply_filters( 'woocommerce_single_product_image_thumbnail_html', $html, $attachment_id );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue