Created
September 20, 2017 06:38
-
-
Save thomasstr/b4d8a33fa7e55fc21808121e84933b66 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Single Product Image | |
* | |
* This template can be overridden by copying it to yourtheme/woocommerce/single-product/product-image.php. | |
* | |
* HOWEVER, on occasion WooCommerce will need to update template files and you | |
* (the theme developer) will need to copy the new files to your theme to | |
* maintain compatibility. We try to do this as little as possible, but it does | |
* happen. When this occurs the version of the template file will be bumped and | |
* the readme will list any important changes. | |
* | |
* @see https://docs.woocommerce.com/document/template-structure/ | |
* @author WooThemes | |
* @package WooCommerce/Templates | |
* @version 3.1.0 | |
*/ | |
if ( ! defined( 'ABSPATH' ) ) { | |
exit; | |
} | |
global $post, $product; | |
$columns = apply_filters( 'woocommerce_product_thumbnails_columns', 2 ); | |
$thumbnail_size = apply_filters( 'woocommerce_product_thumbnails_large_size', 'full' ); | |
$post_thumbnail_id = get_post_thumbnail_id( $post->ID ); | |
$full_size_image = wp_get_attachment_image_src( $post_thumbnail_id, $thumbnail_size ); | |
$placeholder = has_post_thumbnail() ? 'with-images' : 'without-images'; | |
$wrapper_classes = apply_filters( 'woocommerce_single_product_image_gallery_classes', array( | |
'woocommerce-product-gallery', | |
'woocommerce-product-gallery--' . $placeholder, | |
'woocommerce-product-gallery--columns-' . absint( $columns ), | |
'images', | |
) ); | |
?> | |
<div class="<?php echo esc_attr( implode( ' ', array_map( 'sanitize_html_class', $wrapper_classes ) ) ); ?>" data-columns="<?php echo esc_attr( $columns ); ?>" style="opacity: 0; transition: opacity .25s ease-in-out;"> | |
<figure class="woocommerce-product-gallery__wrapper"> | |
<?php | |
$attributes = array( | |
'title' => get_post_field( 'post_title', $post_thumbnail_id ), | |
'data-caption' => get_post_field( 'post_excerpt', $post_thumbnail_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], | |
); | |
if ( has_post_thumbnail() ) { | |
$html = '<div class="product-image woocommerce-product-gallery__image" data-thumb="' . get_the_post_thumbnail_url( $post->ID, 'shop_thumbnail' ) . '"><a href="' . esc_url( $full_size_image[0] ) . '">'; | |
$html .= get_the_post_thumbnail( $post->ID, 'shop_single', $attributes ); | |
$html .= '</a></div>'; | |
} else { | |
$html = '<div class="woocommerce-product-gallery__image--placeholder">'; | |
$html .= sprintf( '<img src="%s" alt="%s" class="wp-post-image" />', esc_url( wc_placeholder_img_src() ), esc_html__( 'Awaiting product image', 'woocommerce' ) ); | |
$html .= '</div>'; | |
} | |
echo apply_filters( 'woocommerce_single_product_image_thumbnail_html', $html, get_post_thumbnail_id( $post->ID ) ); | |
do_action( 'woocommerce_product_thumbnails' ); | |
?> | |
</figure> | |
</div> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Single Product Thumbnails | |
* | |
* This template can be overridden by copying it to yourtheme/woocommerce/single-product/product-thumbnails.php. | |
* | |
* HOWEVER, on occasion WooCommerce will need to update template files and you | |
* (the theme developer) will need to copy the new files to your theme to | |
* maintain compatibility. We try to do this as little as possible, but it does | |
* happen. When this occurs the version of the template file will be bumped and | |
* the readme will list any important changes. | |
* | |
* @see https://docs.woocommerce.com/document/template-structure/ | |
* @author WooThemes | |
* @package WooCommerce/Templates | |
* @version 3.1.0 | |
*/ | |
if ( ! defined( 'ABSPATH' ) ) { | |
exit; | |
} | |
global $post, $product; | |
$attachment_ids = $product->get_gallery_image_ids(); | |
if ( $attachment_ids && has_post_thumbnail() ) { | |
?> | |
<div class="product-thumbnails"> // Added | |
<?php | |
foreach ( $attachment_ids as $attachment_id ) { | |
$full_size_image = wp_get_attachment_image_src( $attachment_id, 'full' ); | |
$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 ); | |
} | |
?> | |
</div> | |
<?php | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment