File "content-product.php"

Full Path: /home/jlklyejr/public_html/wp-content-20241030122153/themes/goya/woocommerce/content-product.php
File size: 6.63 KB
MIME-type: text/x-php
Charset: utf-8

<?php
/**
 * The template for displaying product content within loops
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/content-product.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.6.0
 */

defined( 'ABSPATH' ) || exit;

global $post, $product, $woocommerce_loop;

// Ensure visibility.
if ( empty( $product ) || ! $product->is_visible() ) {
	return;
}

$vars = $wp_query->query_vars;

$item_style = array_key_exists('goya_product_style', $vars) ? $vars['goya_product_style'] : false;
$item_animation = array_key_exists('goya_product_animation', $vars) ? $vars['goya_product_animation'] : false;
$item_hover_img = array_key_exists('goya_product_hover_image', $vars) ? $vars['goya_product_hover_image'] : false;
$item_quickview = array_key_exists('goya_product_quickview', $vars) ? $vars['goya_product_quickview'] : false;
$item_skip_lazy = array_key_exists('goya_product_skip_lazy', $vars) ? $vars['goya_product_skip_lazy'] : 0;
$item_column_large = array_key_exists('goya_product_columns_large', $vars) ? $vars['goya_product_columns_large'] : get_theme_mod('shop_columns', 4);
$item_column_mobile = array_key_exists('goya_product_columns_mobile', $vars) ? $vars['goya_product_columns_mobile'] : get_theme_mod('shop_columns_mobile', 2);


// Color/image Swatches
add_action( 'goya_woocommerce_after_shop_loop_item', 'goya_add_loop_variation_swatches', 9 );

// Columns large
if ( isset( $_GET['col'] ) ) {
	$columns_large = intval( sanitize_key( $_GET['col'] ) );
} else if ( ( isset( $woocommerce_loop['columns'] ) && $woocommerce_loop['columns'] != '' ) ) {
	$columns_large = $woocommerce_loop['columns'];
} else {
	$columns_large = $item_column_large;
}

// Calculate other numbers of columns
if ( intval( $columns_large ) == 1 ) {

	$columns_medium = $columns_small = $columns_xsmall = $columns_large;

} else {
	
	// Columns medium
	if ( intval( $columns_large ) < 3 ) {
	$columns_medium = '2';
	} else {
	$columns_medium = ( isset( $woocommerce_loop['columns_medium'] ) ) ? $woocommerce_loop['columns_medium'] : '3';
	}

	// Columns small
	$columns_small = ( isset( $woocommerce_loop['columns_small'] ) ) ? $woocommerce_loop['columns_small'] : '2';

	// Columns x-small
	$columns_xsmall = ( isset( $woocommerce_loop['columns_xsmall'] ) ) ? $woocommerce_loop['columns_xsmall'] : $item_column_mobile;
}


// Classes
$classes[] = 'item';
$classes[] = 'et-listing-'.$item_style;

// Animation
$inner_classes[] = 'product-inner';
$inner_classes[] = $item_animation;

// Masonry/Columns size
if (array_key_exists('goya_masonry_list', $vars)) {
	$masonry_size = get_post_meta($id, 'goya_product_masonry_size', true);
	$masonry_size = ($masonry_size) ? $masonry_size : 'small';
	$masonry_adjust = goya_get_masonry_size($masonry_size);
	$classes[] = $masonry_adjust['class'];
	$image_size = $masonry_adjust['image_size'];

	// If masonry get the product categories
	$terms = get_the_terms( $id, 'product_cat' );

	$cats = '';	
	if (!empty($terms)) {
		foreach ($terms as $term) { $cats .= ' cat-'.strtolower($term->slug); }
	}

	$classes[] = $cats;

} else {
	$classes[] = 'col-' . 12 / $columns_xsmall;
	$classes[] = 'col-sm-' . 12 / $columns_small;
	$classes[] = 'col-md-' . 12 / $columns_medium;
	
	if($columns_large != 5) {
		$classes[] = 'col-lg-' . 12 / $columns_large;
	} else {
		$classes[] = 'large_grid_5';
	}

	// Small grid class
	$classes[] = 'small_grid_' . ( $columns_large + 1 );
}

// Hover product image
$thumbnail_class = ( $item_hover_img ) ? 'et-image-hover' : '';

// Image class
$image_class = 'main-image';
if ($wp_query->current_post < $item_skip_lazy) {
	$image_class .= ' skip-lazy';
}

?>

<li <?php wc_product_class($classes, $product); ?>>
	<div class="<?php echo esc_attr(implode(' ', $inner_classes)); ?>">
	<?php
		/**
		 * Hook: woocommerce_before_shop_loop_item.
		 *
		 * @hooked woocommerce_template_loop_product_link_open - 10
		 */
		do_action( 'woocommerce_before_shop_loop_item' );
	?>
	<figure class="product_thumbnail <?php echo esc_attr($thumbnail_class); ?>">  
		<a href="<?php echo esc_url( get_permalink() ); ?>" title="<?php the_title_attribute(); ?>"><?php
				echo woocommerce_get_product_thumbnail('woocommerce_thumbnail', array( 'class' => $image_class ));
				
				// Alternative/hover image
				if ( apply_filters('goya_product_hover_image', $item_hover_img) == 1) {
					echo goya_product_thumbnail_alt( $product );
			} ?></a>
		<?php
			/**
			 * Hook: woocommerce_before_shop_loop_item_title.
			 *
			 * @hooked woocommerce_show_product_loop_sale_flash - 10
			 * @hooked woocommerce_template_loop_product_thumbnail - 10
			 */
			do_action( 'woocommerce_before_shop_loop_item_title' );
		?>
		<div class="actions-wrapper">
				<?php if ($item_style != 'style1' ) { goya_wishlist_button('loop'); } ?>
				<?php if ($item_style == 'style2' || $item_style == 'style3' ) { woocommerce_template_loop_add_to_cart(); } ?>
				<?php 
				if ( $item_quickview == true ) {
					goya_loop_quick_view();
				} ?>
			</div>
	</figure>
	<div class="caption">
		<div class="product-title">
			<h2><a class="product-link" href="<?php echo esc_url( get_permalink() ); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
			<?php if ($item_style === 'style1') { goya_wishlist_button('loop'); } ?>
		</div>
		<?php 
			/**
			 * Hook: woocommerce_shop_loop_item_title.
			 *
			 * @hooked woocommerce_template_loop_product_title - 10
			 */
			do_action( 'woocommerce_shop_loop_item_title' );
		?>

		<div class="product_after_title">

			<div class="product_after_shop_loop_price">
				<?php
					/**
					 * Hook: woocommerce_after_shop_loop_item_title.
					 *
					 * @hooked woocommerce_template_loop_rating - 5
					 * @hooked woocommerce_template_loop_price - 10
					 */
					do_action( 'woocommerce_after_shop_loop_item_title' );
				?>
			</div>

			<div class="product-excerpt">
				<?php the_excerpt(); ?>
			</div>

			<div class="after_shop_loop_actions">

				<?php 
					/**
					 * Hook: woocommerce_after_shop_loop_item.
					 *
					 * @hooked woocommerce_template_loop_product_link_close - 5
					 * @hooked woocommerce_template_loop_add_to_cart - 10
					 */
					do_action( 'woocommerce_after_shop_loop_item' );
				 ?>
			</div>

		</div>

		<?php do_action( 'goya_woocommerce_after_shop_loop_item' ); ?>

	</div>

	</div>

</li>