HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux sci 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: tpdc (1002)
PHP: 7.4.3-4ubuntu2.29
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/nsci/wp-content/themes/soledad/woocommerce/single-product/product-image.php
<?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/
 * @package WooCommerce\Templates
 * @version 3.5.1
 */

defined( 'ABSPATH' ) || 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 $product;
$product_id          = $product->get_id();
$img_width           = get_theme_mod( 'penci_single_product_img_width', 'standard' );
$img_width           = penci_get_single_product_meta( $product_id, 'product_general', 'penci_single_product_img_width', $img_width );
$img_width           = penci_is_mobile() ? 'standard' : $img_width;
$sticky              = get_theme_mod( 'penci_single_product_sticky_thumbnail_content', false );
$sticky_class        = $sticky ? 'penci-sticky-sidebar' : 'penci-normal-sidebar';
$quickview           = wc_get_loop_prop( 'quickview', false );
$quickview_class     = $quickview ? 'quickview-screen' : 'normal-screen';
$columns             = apply_filters( 'woocommerce_product_thumbnails_columns', 4 );
$post_thumbnail_id   = $product->get_image_id();
$attachment_ids      = $product->get_gallery_image_ids();
$thumbnail_position  = get_theme_mod( 'penci_single_product_thumbnail_position', 'thumbnail-left' );
$thumbnail_position  = penci_get_single_product_meta( $product_id, 'product_general', 'penci_single_product_thumbnail_position', $thumbnail_position );
$thumbnail_position  = $attachment_ids && $product->get_image_id() ? $thumbnail_position : 'thumbnail-left';
$thumbnail_position  = ( 'fullwidth-container' == $img_width || 'fullwidth' == $img_width ) ? 'thumbnail-without' : $thumbnail_position;
$thumbnail_position  = $quickview || penci_is_mobile() ? 'thumbnail-bottom' : $thumbnail_position;
$slider              = $attachment_ids && in_array( $thumbnail_position, array(
	'thumbnail-left',
	'thumbnail-right',
	'thumbnail-bottom',
	'thumbnail-without'
) ) ? true : '';
$wrapper_classes     = apply_filters(
	'woocommerce_single_product_image_gallery_classes',
	array(
		'woocommerce-product-gallery',
		'woocommerce-product-gallery--' . ( $post_thumbnail_id ? 'with-images' : 'without-images' ),
		'woocommerce-product-gallery--columns-' . absint( $columns ),
		'images',
		'no-js',
		$thumbnail_position,
		$sticky_class,
		$quickview_class
	)
);
$thumbnail_class     = $slider ? 'penci-thumbnail-slider splide' : 'penci-thumbnail-grid';
$thumbnail_fig_class = $slider ? 'splide__slide woocommerce-product-thumbnail' : 'woocommerce-product-thumbnail';
?>
<div class="<?php echo esc_attr( implode( ' ', array_map( 'sanitize_html_class', $wrapper_classes ) ) ); ?>"
     data-columns="<?php echo esc_attr( $columns ); ?>">
    <div class="theiaStickySidebar">

		<?php if ( $slider ): ?>

        <div class="penci-product-gallery-slider splide <?php echo esc_attr( $img_width ); ?>">
            <div class="penci-product-gallery-items splide__track">
                <div class="splide__list penci-gallery-image-list">
					<?php endif; ?>
                    <figure data-slide_item="0" data-attr_id="<?php echo esc_attr( $post_thumbnail_id ); ?>"
                         class="splide__slide splide__slide-<?php echo esc_attr( $post_thumbnail_id ); ?> woocommerce-product-gallery__wrapper">
						<?php
						if ( $post_thumbnail_id ) {
							$html = penci_get_gallery_image_html( $post_thumbnail_id, true );
						} else {
							$html = '<div class="woocommerce-product-gallery__image--placeholder">';
							$html .= sprintf( '<img data-lazy="%s" alt="%s" class="wp-post-image" />', esc_url( wc_placeholder_img_src( 'woocommerce_single' ) ), esc_html__( 'Awaiting product image', 'woocommerce' ) );
							$html .= '</div>';
						}

						echo apply_filters( 'woocommerce_single_product_image_thumbnail_html', $html, $post_thumbnail_id ); // phpcs:disable WordPress.XSS.EscapeOutput.OutputNotEscaped
						?>
                    </figure>
					<?php
					if ( $attachment_ids && $product->get_image_id() && $slider ) {
						$slide = 1;
						foreach ( $attachment_ids as $attachment_id ) {

							echo '<figure data-slide_item="' . $slide ++ . '" data-attr_id="' . esc_attr( $attachment_id ) . '" class="splide__slide splide__slide-' . esc_attr( $attachment_id ) . ' woocommerce-product-gallery__wrapper">';

							if ( $attachment_id ) {
								$html = penci_get_gallery_image_html( $attachment_id, true );
							} else {
								$html = '<div class="woocommerce-product-gallery__image--placeholder">';
								$html .= sprintf( '<img data-lazy="%s" alt="%s" class="wp-post-image" />', esc_url( wc_placeholder_img_src( 'woocommerce_single' ) ), esc_html__( 'Awaiting product image', 'woocommerce' ) );
								$html .= '</div>';
							}

							echo apply_filters( 'woocommerce_single_product_image_thumbnail_html', $html, $attachment_id ); // phpcs:disable WordPress.XSS.EscapeOutput.OutputNotEscaped

							echo '</figure>';
						}
					}
					?>

					<?php if ( $slider ): ?>
                </div>
            </div>
        </div>
	<?php endif; ?>

		<?php if ( $attachment_ids && $product->get_image_id() && 'thumbnail-without' != $thumbnail_position ) : ?>
            <div class="<?php echo esc_attr( $thumbnail_class ); ?>">
				<?php if ( $slider ):
				array_unshift( $attachment_ids, $product->get_image_id() );
				?>
                <div class="splide__track">
                    <div class="penci-thumbnail-image-list splide__list" data-total-slides="<?php echo count( $attachment_ids ); ?>">
						<?php
						endif;
						if ( $attachment_ids && $product->get_image_id() ) {
							$item_count = 0;
							foreach ( $attachment_ids as $attachment_id ) {
								echo '<figure class="item-' . $item_count . ' ' . esc_attr( $thumbnail_fig_class ) . '">';
								echo apply_filters( 'woocommerce_single_product_image_thumbnail_html', penci_get_gallery_image_html( $attachment_id, $slider ? false : true, $slider ), $attachment_id );
								echo '</figure>';
								$item_count ++;
							}
						}
						if ( $slider ): ?>
                    </div>
                </div>
                <div class="penci-custom-thumbnail-nav">
                    <button data-slide="-" class="penci-product-slider-prev"><i class="penciicon-up-chevron"></i><span
                                class="screen-reader-text"><?php echo esc_attr__( 'Previous', 'soledad' ); ?></span>
                    </button>
                    <button data-slide="+"
                            class="penci-product-slider-next"><i class="penciicon-down-chevron"></i><span
                                class="screen-reader-text"><?php echo esc_attr__( 'Next', 'soledad' ); ?></span>
                    </button>
                </div>
			<?php endif; ?>
            </div>
		<?php endif; ?>
    </div>
</div>